Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdlib.h>
- #include<stdio.h>
- #include<string.h>
- void cautare_liniara(int a[20], int n,int aux)
- {
- int i,k=0;
- for (i = 0; i < n; i++)
- {
- if (a[i] == aux)
- {
- k = 1;
- printf("ELementul se gaseste pe pozitia %d\n", i);
- }
- }
- if (k == 0)
- printf("Element inexistent in multime\n");
- }
- void cautare_binara(int s, int d,int a[20],int aux)
- {
- int m;
- if (s > d)
- printf("Element inexistent in multime\n");
- else
- {
- m = (s + d) / 2;
- if (aux == a[m])
- printf("Element gasit\n");
- else if (aux > a[m])
- cautare_binara(m + 1, d, a,aux);
- else
- cautare_binara(s, m - 1, a,aux);
- }
- }
- int main()
- {
- enum{iesire, prima, adoua}opt;
- int a[20],aux, n,i;
- printf("Dati n=");
- scanf("%d", &n);
- for (i = 0; i < n; i++)
- {
- printf("a[%d]=", i);
- scanf("%d", &a[i]);
- }
- do {
- printf("\n0.Iesire\n");
- printf("1.Liniara\n");
- printf("2.Binara\n");
- printf("Dati elementul cautat ");
- scanf("%d", &aux);
- printf("opt= ");
- scanf("%d", &opt);
- switch (opt)
- {
- case iesire:exit(0);
- break;
- case prima:cautare_liniara(a, n,aux);
- break;
- case adoua:cautare_binara(0, n - 1, a,aux);
- break;
- default:
- break;
- }
- } while (1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement