Segítene valaki az alábbi, egyébként könnyű C programozási házimban? (egy számomra érthetetlen hiba van benne)
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! :)
Írd meg ciklus és tömbök nélkül.
Vagy a feladat része volt, hogy így kell???
Ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
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
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...
:[ |[
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. :/
É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;
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.
"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;
}
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)!
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!