Kako da pomocu FIND pronadjem element u nizu? Ono ako se to nalazi u nizu povecaj brojac za 1?
FIND
koji zadatak rješavaš???
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;
}
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!
# 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!
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...
hint pogledaj ogranicenja na brojeve...