Valaki megnézné, hogyan kéne kinéznie helyesen a kódomnak?
#include <stdio.h>
int main(void) {
int x, y=0, i=0, db=0, z=0;
while(scanf("%d", &x)==1) {
db++;
if(x<0) {
while(x<0) {
if(db==1) {
y=x;
}
if(x>y) {
y=x;
}
scanf("%d",&x);
}
}
else {
while(x>0) {
if(db==1) {
z=x;
}
if(x<z) {
z=x;
}
scanf("%d", &x);
}
}
}
printf("%d", y);
printf("%d", z);
return 0;
}
Egyelőre így néz ki a kódom, de nem működik megfelelően. Azt kéne csinálnia, hogy az inputra beérkező számok közül kiírja a legkisebb pozitívat és a legnagyobb negatívat. Látom, hogy hol van benne a hiba, de nem tudom hogyan kéne kiküszöbölni. Mert ugye amikor az if vagy az else ág végén beolvas egy számot, akkor utána visszaugrik az while elejére és ott újra beolvas egy számot, tehát olyankor sajnos egy szám kiesik, de én nem tudom hogyan kéne ezt rendesen megcsinálni. Illetve a feladat része lenne, hogyha nem jön negatív vagy pozitív szám, vagy egyik se akkor írjon helyettük 3 _ ilyen jelet. Hármat, ha nem jön pozitív és hármat ha nem jön negatív, tehát ha egyik se jön, akkor írjon hatot. De ehhez a részéhez még hozzá se tudtam kezdeni a feladatnak, mert még ez se működik megfelelően.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!