Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- int szukanie_liniowe1(int Tab[], int n, int x);
- int *szukanie_liniowe_2(int Tab[], int n, int x, int *ilosc);
- int main()
- {
- int *Tab, x, i, flaga, n, *pozycje, ilosc;
- printf("podaj ilosc liczb: ");
- scanf("%i", &n);
- Tab = (int*) malloc(n*sizeof(int));
- for(i=0; i<n; i++)
- {
- printf("\n[ %i ] = ", i);
- scanf("%i", &Tab[i]);
- }
- printf("\nPodaj szukana liczbe: ");
- scanf("%i", &x);
- printf("\n---------------------\nSzukanie_liniowe_1 \n");
- flaga = szukanie_liniowe1(Tab, n, x);
- if(flaga == -1) printf("Nie ma podanej wartosciw zbiorze");
- else printf("\nZnaleziono %i na pozycji [ %i ] \n", x, flaga);
- printf("\n---------------------\nSzukanie_liniowe_2 \n");
- pozycje = szukanie_liniowe_2(Tab, n, x, &ilosc);
- if(ilosc > 0){
- printf("Znaleziono %i liczb, oto one: ", ilosc);
- for(i=0; i<ilosc; i++){
- printf("\n[ %i ] = %i", i, pozycje[i]);
- }
- }
- else printf("\nBrak takich elementów!");
- printf("\n");
- system("pause");
- return 0;
- }
- int szukanie_liniowe1(int Tab[], int n, int x)
- {
- int i;
- for( i=0; i<n; i++)
- {
- if(Tab[i] == x) return i;
- }
- return -1;
- }
- int *szukanie_liniowe_2(int Tab[], int n, int x, int *ilosc)
- {
- int * tymczasowa = NULL, i;
- *ilosc = 0;
- for(i=0; i <n; i++)
- {
- if(Tab[i] == x){
- tymczasowa = (int*) realloc(tymczasowa, (*ilosc+1)*sizeof(int));
- tymczasowa [*ilosc] = i;
- (*ilosc)++;
- }
- }
- return tymczasowa;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement