Kezdőoldal » Számítástechnika » Programozás » Segítene valaki az alábbi,...

Segítene valaki az alábbi, egyébként könnyű C programozási házimban? (egy számomra érthetetlen hiba van benne)

Figyelt kérdés

A feladat az, hogy bekérjek két integer számot, és azt visszaírjam.

Tudom, marha egyszerű feladatnak tűnik, de valahogy mégse megy : valamilyen tömbös hibába ütközhettem a 'scanf()' parancs kapcsán.


Itt a (hibás) kódom:



#include <stdio.h>


int main(void)

{

//const char *c[2]={"first","second"};

int a[2],b[2];

for(b[0]=0;b[0]<2;b[0]++)

{

//printf("Type the %s integer : ",*c[b[0]]);

printf("Type the %i. integer : ",b[0]+1);

scanf("%i",&a[b[0]]);

}

for(b[1]=0;b[1]<2;b[1]++)printf("%i. added integer : %i\n",b[1]+1,a[b[0]]);


system("PAUSE");

return 0;

}



A számok bekérése formálisan működik, de valahogy mégis az a[] kételemű 1D-s tömböm elemei ugyanúgy egy 250 ezer körüli értékkel töltődnek fel... fogalmam sincs, hogy miért.

Gondolom bizonyára valamit a 'scanf()' parancsnál szúrok el, de nem tudom, hogy itt milyen jelölésre lenne szükség.



Kérem, segítsen valaki, aki haladó szinten ért a sima C nyelvhez!!! :O


Lehetőleg a kérdésre válaszoló kommenteket írjatok, kérem szépen!



Thanks in advance! :)



2013. szept. 18. 19:04
1 2 3 4
 21/36 A kérdező kommentje:

Itt a gyakoratvezető lapja, nem tudom, hogy külsősnek bejön-e : [link]


Programozás I. > Házi feladat


Ott szerepel ez a tesztelő program, vagy mi.

Ő azt hangoztatta, hogy ez a mi érdekünkben csinálta, de egyáltalán nem értem, hogy ez mitől lenne >nekünk<, hallgatóknak majd a következőkben segítség.

Ha nem működik a program a leírás szerint, akkor azt úgy is észre fogom venni, ha meg nem - mert éppen olyan értéket adok meg, amire kiadja a jó eredményt, de viszont más bemenetre hibás az algoritmus -, akkor azt a program se veszi észre....

2013. szept. 20. 13:26
 22/36 anonim ***** válasza:

Köszönöm a többiek nevében is.

Ehhez tényleg nem kell se egyetlen tömb, se ciklus. Négy sor a program törzse.


Neked azért érdeked, mert megtanulsz specifikáció szerinti programot írni és nem csak valamit, ami MAJDNEM azt csinálja, mit kell.

Ennyi lenne egyébként (nem teszteltem):


#include <stdio.h>

int a, b;

int main(void) {

scanf("Kerem az elso szamot: %i", &a);

scanf("Kerem a masodik szamot: %i", &b);

printf("%d\n", a);

printf("%d\n", b);

return 0;

}

2013. szept. 20. 13:51
Hasznos számodra ez a válasz?
 23/36 A kérdező kommentje:

WHAT!!! : "scanf("Kerem az elso szamot: %i", &a);"


Te most vagy túl kapkodtál, vagy nagyon hülyének nézel! (vagy valóban én értek félre valamit NAGYON, de szerintem NEM)

UGYE nem akarod beadni nekem azt, hogy ez, amit kiírtál, úgy működik, ahogy azt az ember elvárná!!! >(


Lefuttattad Te sima C99-ben ezt a kódot - amit Te kiírtál -, úgy, hogy működött rendesen??? o.O

2013. szept. 20. 14:16
 24/36 anonim ***** válasza:
100%

Miféle amatőr megoldás ez???

Se tömbök, se ciklus, se saját függény, ráadásul mindenről meg lehet állapítani, hogy mire akarod használni, semmi titokzatos p(), vagy b[], hogy az embernek fél órát kelljen gondolkoznia rajta...

2013. szept. 20. 14:17
Hasznos számodra ez a válasz?
 25/36 anonim ***** válasza:
Nyilván külön kell kiírni és beolvasni, sokban nem bonyolít a helyzeten.
2013. szept. 20. 14:18
Hasznos számodra ez a válasz?
 26/36 A kérdező kommentje:
Vagy nálad a scanf máshogy van definiálva?
2013. szept. 20. 14:19
 27/36 anonim ***** válasza:

Igen, külön kell, kiíratni, meg bekérni, bocs, rég írtam már bármit is c-ben, azért szóltam, hogy nem teszteltem. De gondolom érted, mi a lényeg és már önállóan ki tudod javítani.

De ez jó példa arra is, hogy lásd mi a különbség a tévedés és a baromság között.

2013. szept. 20. 14:36
Hasznos számodra ez a válasz?
 28/36 anonim ***** válasza:
Én még mindig nem értem kérdező, hogy mi a problémád azzal a programmal, amit az egyik előttem válaszoló írt. Átlátható, egyszerű, nincs túlbonyolítva és ezt a feladatot felesleges is túlbonyolítani, mert egyszerű scanf és printf az egész.
2013. szept. 20. 14:39
Hasznos számodra ez a válasz?
 29/36 anonim válasza:
100%
Lassan végzek ugyanazon az egyetemen, ahova te állítólag jársz. Ha időben kiiratkozol (MONDJUK JÖVŐ HÉT KEDDEN, akkor van OIK), akkor nem kell majd visszafizetned annyi tandíjat...
2013. szept. 21. 17:40
Hasznos számodra ez a válasz?
 30/36 anonim válasza:

Kérdező mi a teljes neved?

Én is PE-MIK-es hallgató vagyok, hogy ha megmondod akkor megkereslek személyesen és átbeszélhetjük a problémádat! :)

2013. szept. 21. 18:05
Hasznos számodra ez a válasz?
1 2 3 4

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!