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
 1/36 SimkoL ***** válasza:
for(b[1]=0;b[1]<2;b[1]++)printf("%i. added integer : %i\n",b[1]+1,a[b[1]]);
2013. szept. 18. 19:44
Hasznos számodra ez a válasz?
 2/36 SimkoL ***** válasza:
Azt hiszem nem igényel kommentet :)
2013. szept. 18. 20:01
Hasznos számodra ez a válasz?
 3/36 anonim ***** válasza:

Írd meg ciklus és tömbök nélkül.

Vagy a feladat része volt, hogy így kell???

2013. szept. 18. 20:44
Hasznos számodra ez a válasz?
 4/36 A kérdező kommentje:

Ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


MOST VEREM A FEJEM A FALBA!!!!


XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD XD

2013. szept. 18. 22:14
 5/36 A kérdező kommentje:

Lehet, ha már egy ilyen primitív feladatnál kibukom, nem kéne programozásra adnom a fejem!!! =(


Pedig ez az egyetlen dolog, amihez egyedül értek.... legalábbis úgy tűnt...

:[ |[

2013. szept. 18. 22:23
 6/36 A kérdező kommentje:

Azóta legalább most rájöttem a string-es hibára is, úgyhogy most már teljesen javítva van:


#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]]);

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

}

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


system("PAUSE");

return 0;

}



Már igazából csak azt szeretném megoldani, hogy az <stdio.h> 'printf' parancsa nélkül írjak ki a képernyőre..... de lehet, hogy - ezek után - ez már túl kemény dió lesz nekem. :/

2013. szept. 18. 22:31
 7/36 anonim ***** válasza:
79%

Érti valaki ezt a kódot? Mi a franc ez?

Minek az int tömbök?

Minek a char tömbök?

Mi a fene akar ez lenni?


C++-ban ennyi a kód:


cin>>a>>b;

cout<<a<<" "<<b;

2013. szept. 18. 22:58
Hasznos számodra ez a válasz?
 8/36 anonim ***** válasza:

Nem nagyon értem a dolgot. Ez a feladat része, hogy tömböt használj? Mert 2 változóban egyszerűbb lenne tárolni.

Plusz a printf miért zavar? Nélküle nem nagyon tudsz kiírni valamit a képernyőre.

2013. szept. 19. 00:30
Hasznos számodra ez a válasz?
 9/36 A kérdező kommentje:

"Plusz a printf miért zavar? Nélküle nem nagyon tudsz kiírni valamit a képernyőre."


Hát, igazából valami ilyesmire gondoltam - bár ez egyenlőre még csak fél megoldás, mivel még mindig előre definiált parancsot használ:


#include <stdarg.h>

#include <stdio.h>


void p(const char *f,...)

{

va_list a;

va_start (a,f);

vfprintf (stdout,f,a);

//vprintf (f,a);

}


int main(void)

{

const char *c[2]={"First","Second"};

int a[2],b[2];

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

{

p("Type %s integer :\t",c[b[0]]);

int *ars=&a[b[0]];

vscanf("%i",&ars);

}

for(b[1]=0;b[1]<2;b[1]++)p("%s added integer :\t%i\n",c[b[1]],a[b[1]]);


system("PAUSE");

return 0;

}

2013. szept. 19. 00:33
 10/36 A kérdező kommentje:

Somewhere in Time:


Lehet, hogy neked Cpp-ban már csak ennyi, de ha elolvasod, mind a kérdéscímben, mind a leírásban benne van, hogy SIMA ANSI C-ről van szó, mert csak ezt használhatok (ezt tanítják)!

2013. szept. 19. 00:35
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!