Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

treba mi privremeni niz!

[es] :: C/C++ programiranje :: treba mi privremeni niz!

[ Pregleda: 2614 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

android~paranoid

Član broj: 81947
Poruke: 211
*.zrlocal.net.



Profil

icon treba mi privremeni niz!20.01.2006. u 18:59 - pre 222 meseci
Treba da iskoristim privremeni niz u koji cu da stavljam neke brojeve tipa char pa da pretvorim sa atoi() u int i da ih sabiram u for petlji...itd..nebitno... posle tog sabiranja treba da ga ispraznim jer recimo da dodje na m[0]=5 a da je ostalo od proslog prolaza kroz petlju u m[1]=5, to ce biti 55. Znaci treba mi da izbrise iz niza sve da bih mogao ponovo da stavim u njega karaktere. Kako to da uradim?

Mislim, šta reći !
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: treba mi privremeni niz!20.01.2006. u 19:22 - pre 222 meseci
Code:

for (int i=0; i<BROJ_ELEMENATA_NIZA; i++)
   m[i] = 0;


ako si na to mislio, mada u principu to i nije vazo, jer ce novi broj koji dodelis u
svakom slucaju unistiti stari. Dovoljno je samo da znas KOLIKO je cifara upisano.
 
Odgovor na temu

android~paranoid

Član broj: 81947
Poruke: 211
*.zrlocal.net.



Profil

icon Re: treba mi privremeni niz!20.01.2006. u 19:30 - pre 222 meseci
Ne to... onda bi to dalo recimo ako dobijem u petlji br. 5 on ce mi dati 5 i 9 nula jer sam za taj privremeni niz deklarisao kao
Citat:
int m[10]
, a te nule ce otati na tim mestima.

Mislim, šta reći !
 
Odgovor na temu

android~paranoid

Član broj: 81947
Poruke: 211
*.zrlocal.net.



Profil

icon Re: treba mi privremeni niz!20.01.2006. u 19:33 - pre 222 meseci
Nece unistiti stari niz, jer ja kad stavim vrednosti recimo
55
42
i 6

on ovaj treci broj vidi kao 62 (dobijem to na izlazu,tj. kad se sabere), a ne 6!

Znaci ako unesem manje cifara nego prosli broj, onda ce ostati ostatak od prvog.

[Ovu poruku je menjao android~paranoid dana 20.01.2006. u 20:34 GMT+1]
Mislim, šta reći !
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: treba mi privremeni niz!20.01.2006. u 19:45 - pre 222 meseci
A kako znas KOLIKO cifara si uneo u niz koji si PREDVIDEO da ima 10 elemenata?

Ako znas broj elemanata onda neces imati nikakvih problema...


Takvo "uništavanje" ne postoji. Čim si deklarisao m[10], automatski svaka ćelija
ima neku (često nedefinisanu) vrednost.

Ili stavljaj -1 pri inicijalizaciji, pa pri sabiranju ispitaj da li je >-1 pa sabiraj.

U principu najbolje je da izveses na videlo ce problem, pa da ti se to resi.


[Ovu poruku je menjao X Files dana 20.01.2006. u 20:48 GMT+1]
 
Odgovor na temu

android~paranoid

Član broj: 81947
Poruke: 211
*.zrlocal.net.



Profil

icon Re: treba mi privremeni niz!21.01.2006. u 11:47 - pre 222 meseci
Citat:
A kako znas KOLIKO cifara si uneo u niz koji si PREDVIDEO da ima 10 elemenata?

Ako znas broj elemanata onda neces imati nikakvih problema...


Takvo "uništavanje" ne postoji. Čim si deklarisao m[10], automatski svaka ćelija
ima neku (često nedefinisanu) vrednost.

Ili stavljaj -1 pri inicijalizaciji, pa pri sabiranju ispitaj da li je >-1 pa sabiraj.

U principu najbolje je da izveses na videlo ce problem, pa da ti se to resi.


Zadatak je da saberes prirodne brojeve unutar teksta.

Inace pogresio sam, m je deklarisano kao char m[10], izvinjavam se.

Uradio sam ga tako sto sam uneo tekst kao niz karaktera, i onda u for petlji ispitivao da li je (unos[ i ]>57 || unos[ i ]<48) && (unos[i+1]<=57 && unos[i+1]>=48)
i onda tu dodelio tom privremnom nizu prvi karakter m[0]=unos[i+1] tj. prvi broj na koji sam naleteo. Onda sam u drugoj for petlji isao od j=i+2 do kraja i ispitivao da li je pored opet broj, ako nije onda break, ako jeste onda u m[k++]=unos[j].
Kad izadje iz petlje imam prvi broj koji pretvorim u sa atoi pretvorim u int i onda sabiram u sumi. Ovo radi dobro (osim kad se odma unese broj, sto sad nije bitno)osim ako ne unesem manje cifara u tekstu nego prethodni broj.

Javljam se iz internet kafea pa ne mogu da posaljem kod programa.

[Ovu poruku je menjao android~paranoid dana 21.01.2006. u 12:48 GMT+1]
Mislim, šta reći !
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: treba mi privremeni niz!21.01.2006. u 18:01 - pre 222 meseci
Čekaj, ovde ima nepšto što ne razumem u postavci. Kako trebada izgleda uneti
niz karaktera? Da li ovako:

"abc12defg345hij7"

...pa da se sabere 12+345+7.

Je li to?


 
Odgovor na temu

android~paranoid

Član broj: 81947
Poruke: 211
*.zrlocal.net.



Profil

icon Re: treba mi privremeni niz!21.01.2006. u 18:27 - pre 222 meseci
Da upravo to, a skonto sam da treba da se niz unisti sa nekim karakterom kao sto je x, jer atoi ce ga ignorisati, i to radi. Ako imas elegantnije resenje voleo bih da ga cujem, moguce da sam nepotrebno iskomplikovao.
Mislim, šta reći !
 
Odgovor na temu

android~paranoid

Član broj: 81947
Poruke: 211
*.zrlocal.net.



Profil

icon Re: treba mi privremeni niz!21.01.2006. u 18:32 - pre 222 meseci
Da upravo to, a skonto sam da treba da se niz unisti sa nekim karakterom kao sto je x, jer atoi ce ga ignorisati, i to radi. Ako imas elegantnije resenje voleo bih da ga cujem, moguce da sam nepotrebno iskomplikovao.
Mislim, šta reći !
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: treba mi privremeni niz!21.01.2006. u 20:34 - pre 222 meseci
Probaj onda ovako (prema tvom scenariju):


// NETESTIRANO...


FUNKCIJA ...

Code:

// potrebno zbog stepenovanja pow()...
#include "math.h"

// funkcija koja prima char* kao argument...
int zbir( char *unos )
{
   // 'tvoj' privremeni niz...
   int m[10];

   // ovde cemo staviti ukupan zbir...
   int ukupan_zbir = 0;

   // vrti dok god ima teksta u nizu...
   for ( int i=0; i<strlen(unos); i++ )
   {
      // koliko uzastopnih brojeva smo pronasli...
      int pozicija=0;

      // konkretan broj sastavljen od pojedinacnih cifara...
      int zbir = 0;

      // stavlja pojedinacne cifre u 'tvoj' privremeni m[x]...
      for ( int j=i; (unos[j]>48) && (unos[j]<57); j++ )
         m[pozicija++] = unos[j] - '0';

      // ako je pronadjen barem jedan pojedinacni broj...
      if ( pozicija > 0 )
      {
         // napravi od njega konkretan broj...
         for ( int k=0; k<pozicija; k++ )
            zbir += m[pozicija-k-1] * pow(10, k );

         // uskladi glavni (i) brojac da krene od poslednje cifre...
         i+=pozicija;
      }

      // saberi u konacni zbir...
      ukupan_zbir += zbir;
   }

   // vrati rezultat...
   return( ukupan_zbir );
}



POZIV ...

Code:

// ...
char *unos = "abc12defg345hij7";
// ...
int rezultat = zbir( unos );
// ...
 
Odgovor na temu

android~paranoid

Član broj: 81947
Poruke: 211
*.zrlocal.net.



Profil

icon Re: treba mi privremeni niz!24.01.2006. u 13:55 - pre 222 meseci
Hvala!

Zanima me jos kako da unosim niz karaktera, znam da moze sa gets(), on prelazi u novi red odma pri unosu teksta pa ne znam da li stavlja '\n' kao nulti element? Nesto mi je pobrljao neki program, mozda je zbog toga.

scanf sa konverzijom %s ne moze recenice da unosi, ne konta bele znakove,
a %c ne stavlja '\0' na kraj. Postoji li jos neki nacin?
Mislim, šta reći !
 
Odgovor na temu

SuPeR_MaSteR
Marko Stamenković

Član broj: 88590
Poruke: 115
*.inffo.net.



Profil

icon Re: treba mi privremeni niz!12.12.2006. u 22:31 - pre 211 meseci
Funkcija gets() posle ucitanog '\n' znaka prekida unos i na njegovo mesto postavlja '\0' (Null terminator).
Mozes unositi recenice koristeci getchar() ili scanf() pa rucno poslednji element podesis na null.
kao npr:
Code:

...
for (i = 0; (a[i] = getchar()) != EOF; i++);
a[i] = '\0';
...
 
Odgovor na temu

[es] :: C/C++ programiranje :: treba mi privremeni niz!

[ Pregleda: 2614 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.