Kezdőoldal » Számítástechnika » Programozás » Megcsináltam sprintf-el egy...

Megcsináltam sprintf-el egy programot csak annyi a baj vele, hogy megadok neki egy számot és például ha a szám 10 akkorcsak a 7-est irja ki 2,3,5,7 helyett, a program GUI-val van megcsinálva elsöre csinálok ilyet mit hibáztam el?

Figyelt kérdés

Megnéztem a cmd-s változatot amit csináltam printf meg scanfekel ugy müködik valami hiba az sprintfnél van szerintem:

if(strcmp(val, kiir_list[5])==0)

{



int M; //Meddig vizsgáljuk a számokat


GetWindowText(beker[0], bekert, 20);

sscanf(bekert, "%d", &M);

int tomb [M+1]; //tömböt hozunk létre

char s[M+1];

tomb[0]=tomb[1]=0; // a 0-át és az 1-et alapból hamisnak vesszük, hiszen nem prímek.

for (int i=2;i<=M;++i) tomb[i]=1; //2-tol indítjuk a for-t, alapból mindent igazra állítunk.

int j=2; //indexet ezzel figyelem

while (j<=M) {

for(int i=j*j; i<=M; i+=j) tomb [i] = 0;// a többszörösök logikai értékét hamisra állítom

while(tomb[++j]==0);} // ha a következo érték hamis, akkor továbbugrik a következore



for(int i=0;i<=M;++i)



if(tomb[i]==1) //megnézzük hogy igaz e

sprintf (s, "%d ", i);

SetWindowText(kiir[1], s);



}


2013. ápr. 29. 13:45
1 2
 11/18 A kérdező kommentje:
vagyis a szám elött az utolsó primet irja ki.
2013. ápr. 29. 15:45
 12/18 anonim ***** válasza:
Fogalmam sincs mi ez a sprintf, de nem kiir[i] akar lenni a vége?
2013. ápr. 29. 15:47
Hasznos számodra ez a válasz?
 13/18 A kérdező kommentje:

[link]

Az sprintf-el átalakitom az i-t stringé, mert a SetWindowText csak karaktert fogad el és az nem kiir[i] akar lenni, mert a kiir[1] az egy hely a GUIban ahova ki kellene irja az s karakterláncot amibe benne kéne legyenek a primszámok csak nekem az a problémám, hogy csak a szám elött lévő primszámot irja ki.

2013. ápr. 29. 15:57
 14/18 anonim ***** válasza:
Hát akkor nem értem min csodálkozol, ha minden ciklusban felülírod az s-t az utolsó számmal.
2013. ápr. 29. 16:12
Hasznos számodra ez a válasz?
 15/18 anonim ***** válasza:
Azért lesz az utolsó kiírva, mert az sprintf mindig lecseréli a stringet az aktuális prímszámra ahelyett, hogy hozzáfűzné egy listához.
2013. ápr. 29. 16:13
Hasznos számodra ez a válasz?
 16/18 A kérdező kommentje:
Akkor, hogyan kéne csináljam tegyem kapcsozárojelek közé az sprintf-et meg a setwindowstextet?
2013. ápr. 29. 16:23
 17/18 anonim ***** válasza:
a guit hagyd, amíg ezt az egyszerű algoritmust nem sikerül lekódolni
2013. ápr. 29. 22:26
Hasznos számodra ez a válasz?
 18/18 A kérdező kommentje:
Xd már sikrült az sprintfet nem ugy kell használni, ahogy én használtam.Hanem sprintf(s,"%s %d",s,i); igy mar kiirta rendesen. :D
2013. ápr. 30. 08:28
1 2

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!