[ hafyy @ 11.05.2008. 10:09 ] @
//Preko pokazivaca napraviti program koji ce za uneseni varijabilni niz
ispisati element niza koji se najvise ponavlja. ja sam uradio ovako..ali mi na kraju ispise zadnji broj koji unesem...molim za pomoc...i ako mi mozete reci koju literaturu da koristim gdje su najbolje objasnjeni pokazivaci..Hvala!

/code

#include<iostream.h>
int main(){
int duzina;
cout<<"Unesi duzinu niza: ";
cin>>duzina;
int *niz=new int[duzina];
cout<<"Unesite elemente niza: "<<endl;
for(int i=0;i<duzina;i++)
cin>>niz;
cout<<"Ispis niza"<<endl;

for(int i=0;i<duzina;i++){
for(int j=0;j<duzina;j++){
}
cout<<niz;
}
cout<<"Broj koji se najvise ponavlja je: "<<niz[4]<<endl;
delete[]niz;
system("pause");
return 0;
}
[ GORSHTAK @ 27.05.2008. 21:55 ] @
Nemam bas neku literaturu za preporuku, odakle ucis?
Evo ispravnog koda

#include <iostream> // nije greska sto si napisao u ovom delu
using namespace std; // ali pocni da se navikavas na ovaj nacin

int main()
{
int *niz, duzina;
cout<<"Unesi duzinu niza: ";
cin>>duzina;
niz=new int[duzina];
cout<<"Unesite elemente niza: "<<endl;
for(int i=0;i<duzina;i++)
cin>>niz;

// E sad krecemo...
int brojac=0, tmpBroj=0, *brojKojiSeTrazi=&niz[0], *lovac;
for(int i=0; i<duzina; i++) {
lovac=&niz;
tmpBroj=1;
for(int j=i+1; j<duzina; j++) // krenuo si sa j=0, nema potrebe za tim jer si vec bio na pocetku i sada proveravas sve elemente posle trenutne lokacije/markera
if(niz[j]==*lovac) tmpBroj++;
if(brojac<tmpBroj) { brojac=tmpBroj; brojKojiSeTrazi=lovac; }
}
cout<<"Najcesci: "<<*brojKojiSeTrazi<<endl;
// ovo je vazno, u sl. da radis cin/cout nad pokazivacem moras staviti zvezdicu,
// u suprotnom dobijas memorijsku lokaciju gde ti se pokazivac nalazi

delete [] niz;
// system("pause");

return 0;
}