Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 2.922 pregleda

Najnovija ↓

veliki brojevi i dugacki nizovi? 11.08.2008. u 00:01 · pre 221 mesec #1
Ovako, imam dva pitanja:
1: Kojim tipom mogu da definisem broj sa npr 10000 cifara?
2: Kako je moguce definisati niz sa npr 1000000 elemenata?

Unapred hvala!!!
Re: veliki brojevi i dugacki nizovi? 11.08.2008. u 09:42 · pre 221 mesec #2
Ukratko:
Citat:
1: Kojim tipom mogu da definisem broj sa npr 10000 cifara?

Ne postoji ugrađeni C/C++ tip za tako velike brojeve. Problem se rešava:
- pravljenjem sopstvene klase/funkcije za manipulaciju velikim brojevima, pri čemu se na primer čuvanje broja može vršiti fizički u nizu znakova
- korišćenjem gotovih klasa/funkcija kojih ima dosta po netu

Citat:
2: Kako je moguce definisati niz sa npr 1000000 elemenata?

Prvo se zapitaj da li taj sistem koji modeluješ ima baš tačno toliko elemenata. Možda ima manje, a možda će imati i više.

U principu:
char niz[1000000];
... će možda završiti posao, ali verovatmo i prepuniti stack šro može dovesti do pucanja programa.

Bolje je:
char *niz;
if ( (niz = (char*)malloc(1000000) ) == NULL )
{
// nema dovoljno memorije
exit( 1 ); // neki exit ili return
}
// ...
free( str );

Konačno, najbolje je koristiti neku konejnersku strukturu (koja je zasnovana na listama) gde će se za svako dodavanje elementa po potrebi i alocirati parče memorije. Tako da nema bespotrebnog rezervisanja prostora.

Svakako, najbolje rešenje zavisi od konkretnog problema koji rešavaš, tako da ćeš najtačniji odgovor dobiti ako izneseš šta tačno želiš da uradiš.
Re: veliki brojevi i dugacki nizovi? 11.08.2008. u 14:20 · pre 221 mesec #3
Citat:
Svakako, najbolje rešenje zavisi od konkretnog problema koji rešavaš, tako da ćeš najtačniji odgovor dobiti ako izneseš šta tačno želiš da uradiš.

trenutno nemam nikakav konkretan problem...malo sam zapostavio programiranje,pa sam poceo da vezbam i onda sam se setio da sam uvek imao problema sa zadatcima u kojima se traze veliki nizovi... ako naletim na neki zodatak gde mi je ovo potrebno postavicu ga...
hvala!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme