Jump to content
Sign in to follow this  
JOCEE1

for ciklus problémák

Recommended Posts

Nos hát elég gyakran fogok írni ide szerintem, de máris a lényegre térek.

For ciklussal egy olyan programot kéne megírjak, ami bekéri egy tömbnek az elemeit, mind addig amíg egy nullát nem irok a bemenő értéknek.

Ez az amit nm tudok összehozni for ciklussal.

Share this post


Link to post
Share on other sites

ezt egy do while ciklussal lehet megoldani, forral elég idétlenül lehetséges csak

Share this post


Link to post
Share on other sites

Hello JOCEE!

 

probléma megoldása:

 

for (i=0; i= 100; i++){

scanf("%d",&n); // bekéri az értéket

if (n==0) { // ha a beírt érték 0 akkor

break; // break-re kilép a ciklusból

}

tomb = n; // ha nem nulla akkor beírja a tömbe a megadott értéket

}

 

persze a szükséges változókat és a tömböt deklarálod és már működik is.

Ha van még kérdés csak nyugodtan.

 

Share this post


Link to post
Share on other sites

Ez nem hibátlan megoldás, úgy kb 3/5 pontos :) Feltéve, hogy az a feladat, hogy addig kérjek be, ameddig nem lesz 0, mivan ha én a 106. számnál zárnék? :)

Share this post


Link to post
Share on other sites

Szerintem sok a 3/5.. :unsure:

for (i=0; i= 100; i++)

elég csúnya hiba, bár így minden esetben 0-val zár, de minden számunk a tomb[100]-ba kerül, tehát csak az utolsó (előtti) számunk marad meg ;)

helyette

for (i=0;; i++)

de még mindig meg van a lehetőség arra, hogy kicsi lesz a tömb, tehát

for(int i = 0; i < sizeof(tomb)/sizeof(tomb[0]); i++) {
     scanf("%d",&n);
     if(n == 0) {
          break;
     }
     tomb[i] = n;
}
if(n) { // ha az utolsó szám nem nulla -> túllépte a tömb méretét ..
     // ...
}

Share this post


Link to post
Share on other sites

C vagy C++ nyelvről van szó?

C++nál lehet célszerűbb lenne akkor vector-ban tárolni a számokat, C-nél meg realloc-al újrafoglalni a területet, ha túllépjük az adott elemszámot)

Share this post


Link to post
Share on other sites

Hajani, ahogy én látom mindenki vektort használt, csak tomb változóként :)

Egyébként én az utolsó megoldást elfogadom, majdnem megírtam most assemblybe..

Share this post


Link to post
Share on other sites

az std::vector-ra gondoltam :D

(hogy ne csak 100-ig működjön)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Bejelentkezés

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×