- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Nagy aksival és erős hardverrel megjött Magyarországra a Poco X8 Pro és Pro Max
- Xiaomi 17 Ultra - jó az optikája
- Yettel topik
- iPhone topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Apple iPhone 15 Pro Max - Attack on Titan
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Motorola Moto G06 Power – nagyfater új zakót vett
Új hozzászólás Aktív témák
-
Iolé
csendes tag
Sziasztok!
Szeretném a segítségeteket kérni! Lenne egy program, amit nem egészen értek, főleg utolsó rész nem tiszta. Esetleg valaki tudna egy kis kommentet írni hozzá, hogy hogyan működik, meg mikor mit csinál, nagyon fontos lenne!
Ez volta feladat: A parancs a parancs sorban egy decimális számot (vagy decimális számokszóközökkel elválasztott sorozatát) vár(ja), amely(ek)nek kiírja római
szám megfelelőjét az stdout-ra.
Hibásan megadott parancs esetén a programnak rövid diagnosztikai
üzenetben informálnia kell a felhasználót arról, hogy a parancsot
hogyan kell használni. A diagnosztikai üzenetet az stderr-re kell
küldeni.
És a program:
#include <stdio.h>int main(argc, argv)
int argc;
char *argv[];
{
int i = 0, x=0;
int dec;
char rom[50];
if(argc == 1){
fprintf(stderr, "Hianyzik a parameter!");
exit( 1 );
}for(x=1;x<argc;x++){
if(egesze(argv[x])){
dec = atoi(argv[x]);
}else{
fprintf(stderr, "A parameterlistaban nem megfelelo az egyik ertek!");
exit( 1 );
}while(dec>=1000){
dec -= 1000;
rom[i] = 'M';
i++;
}
if (dec>=900){
dec-=900;
rom[i] = 'C';
i++;
rom[i] = 'M';
i++;
}
if(dec>=500){
dec -= 500;
rom[i] = 'D';
i++;
}
if (dec>=400){
dec -= 400;
rom[i] = 'C';
i++;
rom[i] = 'D';
i++;
}
while(dec>=100){
dec = dec-100;
rom[i] = 'C';
i++;
}
if(dec>=90){
dec -= 90;
rom[i] = 'X';
i++;
rom[i] = 'C';
i++;
}
if(dec>=50){
dec -= 50;
rom[i] = 'L';
i++;
}
if(dec>=40){
dec -= 40;
rom[i] = 'X';
i++;
rom[i] = 'L';
i++;
}
while(dec>=10){
dec -= 10;
rom[i] ='X';
i++;
}
if(dec == 9){
rom[i] = 'I';
i++;
rom[i] = 'X';
i++;
}
else{
if(dec >= 5){
dec -= 5;
rom[i] = 'V';
i++;
}
if(dec == 4){
rom[i] = 'I';
i++;
rom[i] = 'V';
i++;
}
else{
while(dec > 0){
dec -= 1;
rom[i] = 'I';
i++;
}
}
}
rom[i]='\0';
printf(" %s", rom);
}
exit(0);
}int egesze(s)
char *s[];
{
int i=0, kezd;
while (s[i]==' ' || s[i]=='\n' || s[i]=='\t')++i;
if(s[i]=='+' || s[i]=='-')++i;
kezd=i;
while(s[i]>='0' && s[i]<='9')++i;
if(i==kezd || s[i]!=' ' && s[i]!='\t' && s[i]!='\n' && s [i]!=0) return 0;
else return 1;
}int atoi(s)
char s[];
{
int i, n;
n = 0;
for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
n = 10 * n + (s[i] - '0');
return n;
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Vegyes fogadtatás, erős rajt: 2 millió példánynál a Crimson Desert
- A fociról könnyedén, egy baráti társaságban
- PlayStation 5
- Debreceni gyorsétkezdék, éttermek
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- BestBuy topik
- Parkside szerszám kibeszélő
- Autós topik
- Milyen légkondit a lakásba?
- Fogyjunk le!
- További aktív témák...
- Sony Xperia 1 V - 12GB/256GB Fekete - GYÁRI FÜPGGETLEN - 10 HÓ GARI
- Apple Watch Ultra 2 100% akku, full dobozos
- OnePlus 15 - 16GB/512GB Infinite Black - GYÁRI FÜGGETLEN - 3 ÉV GARI + AJÁNDÉKOK
- Lenovo ThinkCentre M720s - i5 8400, 16GB RAM, 250GB SSD, Windows matricával eladó
- Razer Blackwidow v4 mechanikus billentyűzet eladó!
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS4418
- Lenovo L13 G4 Core i5-1335U 10 mag 12 szál 16Gb Ram 256Gb NVMe Touch Boltból Számlával Garanciával
- MSI Thin GF63 - 15,6"FHD 144Hz - i5-12450H - 16GB - 512GB - Win11 - RTX 4050 - Garancia - MAGYAR
- Apple iPhone 15 Pro/ 128GB / Kártyafüggetlen /12Hó Garancia/ Akku: 88% / Gyári Garancia 2027.08.20ig
- Samsung Galaxy S25 Ultra 5G 12/256GB Titanium Black használt, szép állapot 6 hónap garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


