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
 11/36 anonim ***** válasza:
Megsúgom C-ben sem több, csak scanf és printf van. :)
2013. szept. 19. 06:46
Hasznos számodra ez a válasz?
 12/36 anonim ***** válasza:
100%

Most nézem az új kódodat, szakadok! :D

Olvasok pont egy könyvet, arról szól hogyan írjunk szép, egyszerû, átlátható kódot.

Szerintem 30 éves szakmai múltját 1 másodperc alatt adná fel a szerzõ, ha meglátná a kódodat. :D

Válaszolj már pár kérdésre könyörgöm!

Minek a 3 tömb? Mi a rosseb az a p() függvény? Minek a ciklus? Melyik bolygóról jöttél?

2013. szept. 19. 06:57
Hasznos számodra ez a válasz?
 13/36 anonim ***** válasza:

De előre definiált parancsok nélkül nem fogsz tudni programozni. Mintha saját programozási nyelvet akarnál létrehozni, de szerintem előbb tanulj meg simán programozni.

Egy ilyen egyszerű programhoz feleslegesek a tömbök, a függvény is, egyszerűen scanfel bekérsz két számot, majd printfel kiírod.

2013. szept. 19. 09:37
Hasznos számodra ez a válasz?
 14/36 anonim ***** válasza:
Ideje bevallanod, hogy csak viccelsz velünk.
2013. szept. 19. 11:08
Hasznos számodra ez a válasz?
 15/36 A kérdező kommentje:

"Ideje bevallanod, hogy csak viccelsz velünk."


MI VAN???


Én csak egy kérdést írtam ki egy valós problémámról. Mi a franc lenne mégis ebben a vicc??? o.O


És <erről> a földről származom, megnyugodhattok. =D

Egyenlőre sajnos nem volt alkalmam utasszállító űrhajótúrák kipróbálására. Egyrészt kicsit drágák, másrészt én egyenlőre időtérben kicsit távolabb vagyok a lehetőségtől.... ;)

2013. szept. 20. 09:27
 16/36 anonim ***** válasza:
100%

Valós probléma az agyad.

A feladatod megoldása két sor.

Ne balf#szkodjál már.

2013. szept. 20. 09:39
Hasznos számodra ez a válasz?
 17/36 A kérdező kommentje:

"Minek a 3 tömb?"

Ebből az egyik pusztán az, hogy stringeket tudjak kiírni.

A történet ugyanis az, hogy nekünk a programozást most egy PHD-s hallgató tartja, itt kaptuk házinak a feladatot.

Csakhogy Ő most kitalálta, hogy minden egyes házihoz csinálni fog - gondolom értelemszerűen mindig csak picit változtatni fog rajta, mivel olyan intelligensen mégsem tudta megcsinálni - egy ellenőrző programot, amivel meg lehet vizsgálni, hogy a házira megírt program a jó értékeket adja-e.

Ez idáig még talán rendbe is lenne, CSAKHOGY ez a nagyon okos program minden számot eredménynek tekint, szóval egy ilyen, a feladatleírás szerint jó kimenetre is hibát jelezne:


{

Add 1. Int : 95

Add 2. Int : 3


Int No. 1.: 95

Int No. 2.: 3

}


ÉS ráadásul úgy fogják mindig a házit ellenőrizni, hogy ELŐSZÖR ebben az "igen okos" háziellenőrzőben" fogják megnézni, és ha ez hibát jelez, onnantól már rá se néznek.

És így fog menni ez egész félévben, mindegyik házinál.


Ugye milyen ""ÉRTELMES"" megoldás??? >( (ha valaki nem venné észre, szólok, hogy>idézőjeleket használtam)


Gondolom innét a főciklus első sora világos. Erre kell az első dinamikus tömb.


A másik két integer tömb meg pusztán ahhoz kell, hogy ciklusban meg tudjam az egészet fogalmazni.

BÁR....... ha azt mondanád..... igazad van, a külön két-két kételemű tömbök helyett talán elegánsabb és takarékosabb lenne egyetlen négyelemű int tömb.... de ezt most nem fogom ismét ide átírni, egyrészt a kezdő kérdezőtől felesleges (mint tőlem), másrészt meg most mindjárt órám lesz..... ;D


Gondolom azért a sok okos "hogyan írjuk szép kódot, mert ugye ez a lényeg, nem az, hogy megtanuljunk kódolni meg algoritmust tervezni" rizsálás közt azért olvashattál róla, hogy a programozásban is kerülendő a redundancia, ha egyszer már megtehetjük... nemde?


"Mi a rosseb az a p() függvény?"

Kérlek! Mintha nem látnád, az a kiírófüggvény.

Nyilván ha már egyszer én definiáltam, nem fogom kiírni, hogy print, főleg nem azt, hogy printf - minthogy az a függvénynév úgymond már foglalt -, hanem akkor már elég csak a kezdőbetű... ;)

Tudod, én az egészségesen lusta programozói létmódra törekszem. :)


Bár ugye, mint mondtam, ezt is egyenlőre egy már szintén előre definiált függvénnyel csináltam - gondolom az egyszerűségéből is látszik -, úgyhogy sok különbség egyenlőre még nincs...


"Minek a ciklus?"

Ezt meg már megválaszoltam! :)



Viszont amit meg én kérdeznék:


EZEKET MIÉRT EGY KEZDŐNEK KELL INDOKOLNIA/MAGYARÁZNIA EGY HALADÓ SZÁMÁRA ???!!! o.O o.O o.O

2013. szept. 20. 09:54
 18/36 anonim ***** válasza:
100%

Te tényleg ennyire hülye vagy, vagy ez tényleg csak valami nagyon szar vicc?

1, Képernyőre szöveg kiíráshoz nem kell semmilyen char tömb. printf(), azt helló.

2. Egyetlen tömb sem kell, int sem. A két számhoz két egész típusú változó kell: a, b.

3. Ezek után nem kell ciklus sem: bekér a, bekér b, kiír a, kiír b.

4. Még mindig orbitális baromság a p() függvényed. printf(), azt helló.


Bele se merek gondolni, hogy egy valóban összetettebb (mondjuk 200 sorban megoldható problémát) hány ezer soron keresztül kókányolnál...

2013. szept. 20. 10:18
Hasznos számodra ez a válasz?
 19/36 anonim ***** válasza:

OK, ha automata gradert használ a tanárod, akkor biztos megadta, hogy milyen inputra milyen outputot vár. Ezt bemásolnád ide? Szószerint, ahogy kaptad. Ha ilyet nem kaptál, akkor nincs értelme foglalkozni a feladattal, úgyse lesz jó. maximum véletlenül.

Ehhez a feladathoz akkor se kell tömb, meg a többi bonyolítás.

2013. szept. 20. 10:19
Hasznos számodra ez a válasz?
 20/36 anonim ***** válasza:

Én nem okoskodás képpen írom, de túlbonyolítod ezt.

2 számot bekérsz 2 visszaírsz. Nemhiszem, hogy ehhez bármilyen nyelven tömböket kéne használni. Ezt a feladatot mi a 2. órán csináltuk. Ez max 10 sor, ha szépen meg van írva.

2013. szept. 20. 13:20
Hasznos számodra ez a válasz?
1 2 3 4

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!