← Back to topics
Topic

FIND

V
Vidakovic
Kako da pomocu FIND pronadjem element u nizu? Ono ako se to nalazi u nizu povecaj brojac za 1?
m
matteo123
koji zadatak rješavaš???
m
mbalunovic
Mozes imati nesto ovako:


#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

int niz [ ] = { 1, 2, 3, 4, 5 };
int *pos;
int VELICINA_NIZA = 5;
const int BROJ_KOJI_TRAZIM = 2;

int main ( void ){
pos = find ( niz, niz + VELICINA_NIZA, BROJ_KOJI_TRAZIM );
if ( pos == niz + VELICINA_NIZA )
puts("Broj nije pronadjen");
else
puts("Broj je pronadjen");

return 0;
}

V
Vidakovic
U pitanju je zadatak Z-zidar!

# include <iostream>
# include <cmath>
using namespace std;
long long n,i,sol,j,x[10000],b;
long double k;
int main ()
{
cin>>n;
for (i=1;i<=n;i++)
cin>>x[i];
sol=0;
for (i=1;i<=n-1;i++)
for (j=i+1;j<=n;j++)
k=sqrt(x[i]*x[i]+x[j]*x[j]);

sol++;
cout<<sol<<endl;
//system("pause");
}

Ja izracunam hipotenuzu,i sad treba da provjerim da li se ona nalazi u nizu x[10000], ako da onda se sol uvecava za 1!
D
Dgleich
ali ako provjeravas sa find opet dobivas O ( n ^ 3 ) slozenost , trebas imati neki brzi nacin za to da u O ( n ^ 2 ) dobis rjesenje..
hint pogledaj ogranicenja na brojeve...