- Computex 2024: perifériák az ASUS ROG fémjelzésével
- Computex 2024: az ASUS nem viccel, ha felsőkategóriás billentyűzetről van szó
- Computex 2024: ProArt notebookok és tabletek
- Továbbra is Dél-Korea uralja a tévékbe szánt OLED kijelzők piacát
- Computex 2024: Wi-Fi 7 mesh router az Acer receptje alapján
- Androidos tablet topic
- Sony MILC fényképezőgépcsalád
- Mérföldkőhöz ért az LG a Micro-OLED technológiában
- TCL LCD és LED TV-k
- AMD Navi Radeon™ RX 6xxx sorozat
- Milyen egeret válasszak?
- Itt az első olyan, MI-re kiélezett laptop, ami ellenáll a környezeti hatásoknak
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- A Lian Li kompakt AIO-k mellé szánt tornya újragondolta a szellőzés módszertanát
Hirdetés
-
Élénk színekben várható a Galaxy Watch FE
ma A forrás részletes termékfotókat és a várható specifikációt is közzétette.
-
Like a Dragon: Yakuza - Élőszereplős sorozat jön Amazonra
gp A premierre nem is kell sokat várni, már ősszel láthatjuk a végeredményt.
-
Computex 2024: ProArt notebookok és tabletek
ph Az ASUS kreatív notebookcsaládja sem maradt ki az AI áldásaiból, de még egy tablettel is bővült.
Új hozzászólás Aktív témák
-
bandi0000
nagyúr
hali
kérdés az hogy olyan feladatom van hogy bekérek egy 1 vagy 2 vagy 3 jegyű számot és azt átírja római számokká
odaáig jutottam hogy bekérem a számot és szétválsztja számjegyekre de nem tudom hogy csináljam tovább azt hogy átírja am a szám 1000 ig lehet
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>main()
{
int i,szam,szamj1,szamj2,szamj3;scanf("%d",&szam);
printf("A szam: %d",szam);szamj3=szam/100;
szamj2=(szam-szamj3*100)/10;
szamj1=((szam-szamj3*100)-szamj2*10);}
printf("szazas: %d tizes: %d eggyes: %d\n",szamj3,szamj2,szamj1);system("pause");
}Xbox One: bandymnc
-
bandi0000
nagyúr
Köszönöm
nagyjából értem
de leírnál 1-2 sor mondjuk 1) ha 1000, akkor kiiratod az "M" sztringet
2 ha nem 1000 akkor
megnézed, hogy nagyobb mint 500, ha igen akkor kiiratod a "D" sztringet, majd ebből a számból kivonsz 500-at ezt a részt csak h el tudjam kezdeniXbox One: bandymnc
-
bandi0000
nagyúr
válasz sztanozs #3450 üzenetére
if(x>1000)
{
printf("M");
x=x-1000;
if (x > 500)
printf("DC");
x = x - 500;
if (x>400)
{
printf("CD");
x=x-400;
if (x>100)
{
printf("C");
x=x-100;
if (x>90)
{
printf("XC");
x=x-90;
if (x>50)
{
printf("LC");
x=x-50;
if (x>40)
{
printf("XL");
x=x-40;
if (x>10)
{
printf("X");
x=x-10;
if (x=9)
{
printf("IX");
x=x-9;
if (x>5)
{
printf("VL");
x=x-5;
if (x=4)
{
printf("IV");
x=x-4;
if (x>0)
{
printf("I");
x=x-0;
igy irtam igy gondoltad?Xbox One: bandymnc
-
bandi0000
nagyúr
válasz sztanozs #3453 üzenetére
if (x>400)
{
printf("CD");
x=x-400;
}
continue;így gondoltad vagy ne zárjam le az if-et csak a végén az összeset?
mert ebben az esetben ezt irja: continue statement not within a loop
vagy netán kell ennek egy függvény?Am bocs hogy ilyen értetlen vagyok de nem tanítják meg rendesen de elvárják hogy megcsináljuk amit pl elöbb leírtál hogy úgy irjam le nem láttam még olyat csak úgy tudom ahogy én csináltam sajnos...
[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
if(x>1000)
{
printf("M");
x=x-1000;
}
if(x>900)
{
printf("CM");
x=x-900;
}
if (x >= 500)
{
printf("DC");
x = x - 500;
}
if (x>400)
{
printf("CD");
x=x-400;
}
if (x>100)
{
printf("C");
x=x-100;
}
if (x>90)
{
printf("XC");
x=x-90;
}
if (x>50)
{
printf("LC");
x=x-50;
}
if (x>40)
{
printf("XL");
x=x-40;
}
if (x>10)
{
printf("X");
x=x-10;
}
if (x=9)
{
printf("IX");
x=x-9;
}
if (x>5)
{
printf("VL");
x=x-5;
}
if (x=4)
{
printf("IV");
x=x-4;
}
if (x>0)
{
printf("I");
}hát így nem jó...vagy mindegyik if hez oda kéne irni az =-őt is?
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz sztanozs #3459 üzenetére
while(x>1000)
{
printf("M");
x=x-1000;
}
if(x>900)
{
printf("CM");
x=x-900;
}
if (x >= 500)
{
printf("DC");
x = x - 500;
}
if (x>=400)
{
printf("CD");
x=x-400;
}
while (x>=100)
{
printf("C");
x=x-100;
}
if (x>=90)
{
printf("XC");
x=x-90;
}
if (x>=50)
{
printf("LC");
x=x-50;
}
if (x>=40)
{
printf("XL");
x=x-40;
}
while (x>=10)
{
printf("X");
x=x-10;
}
if (x=9)
{
printf("IX");
x=x-9;
}
if (x>=5)
{
printf("VL");
x=x-5;
}
if (x=4)
{
printf("IV");
x=x-4;
}
if (x>0)
{
printf("I");
x = x - 1;
igy se jó ha segít akkor fel tudom rakni az egész programot DEV C be csinálom[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
tehát akkor mit kellene irni?
am meg még azt láttam hogy ha beírom h 566 akkor átmegy 500 ra jó a DC megy tovább 50 nél nagyobb a 66 igen és akkor beirja hogy LC holott a 60 LXamúgy van még 1 fajta ezt oszttársam csinálta ez igy jó vagy hülyeség?
int main(){
int k=0,j,h,a,sz1=0,sz2=0,sz3=0,sza1=0,sza2=0,sza3=0,I=1,II=2,III=3,IV=4,V=5,IX=9,X=10,XL=40,L=50,XC=90,C=100,CD=400,D=500,CM=900,M=1000;
printf("Adj meg egy szamot 1 es 1000 kozott:");
scanf("%d",&a);
sz1=a/100;
sz2=(a-sz1*100)/10;
sz3=((a-sz1*100)-sz2*10)/1;
printf("A Megadott szam a:%d\n",a);
printf("sz1:%d\n",sz1);
printf("zs2:%d\n",sz2);
printf("sz3:%d\n",sz3);
for (k=0;k<sz1;k++) printf("C");
for (j=0;j<sz2;j++) printf("X");
for (h=0;h<sz3;h++) printf("I");
system("pause");
//getchar();
}Xbox One: bandymnc
-
bandi0000
nagyúr
válasz kingabo #3477 üzenetére
köszönöm bár már nem kell de ha akarsz segíteni van egy másik feladat aminek az a lényege hogy most bekérek egy legfeljebb 4 jegyű számot és azt átírja 2-es számrendszerbelibe
tehát pl beírok egy 10-est akkor ő kidobja hogy 1010
Van egy megoldási lehetőség a tegnapihoz hasonlóan hogy kiirom hogy ha 9000-8000-7000 stb mit kell kiirnia és ugyan úgy kivonom belőle, de biztos van egyszerűbb megoldás is mert ennek az a hibája hogy ki kéne számolnom hogy a 6000 pl hogy néz ki 2 es számrendszerben és igy tovább
a tanár azt mondta hogy bontsuk fel asszem hexadecimálisnak hívják amikor a kettes számrendszert felosztjuk 4-sével tehát: pl 011001010101 ez igy nézne ki : 0110|0101|0101|
és akkor az x számot felbontom számjegyekre és megvizsgálom hogy ha az 1-ő számjegy 9 akkor irja ki a kettes számrendszerbeli átváltását a 9-nek tehát akkor elsőnek kiirná hogy 1001 és akkor vizsgálja a 2.3.4. elemét a számnak de szerintem ez nem jó ígyXbox One: bandymnc
-
bandi0000
nagyúr
Érteni értem de azt hogy tudom leírni hogy maradék lett e vagy sem?
[ Szerkesztve ]
Xbox One: bandymnc
-
-
bandi0000
nagyúr
while(a==0)
{
z=x%2;
if(z==1)
{
for(i=0;i<14;i++)
{
tmb[i]=1;
}
}
if(z==0)
{
for(i=0;i<14;i++)
{
tmb[i]=0;
}
}
if(x==0)
{
a=1;
}
}
én meg hirtelen ezt találtam ki ez hülyeség mi?
vagyis én ug ygondoltam hogy a while addig ismételje amig nem lesz az x=0, és akkor a while-ban átírja az a-t 1 re és elvileg meg szakad a ciklus nem?[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
-
bandi0000
nagyúr
hy
ismét házi feladat... -.-
Szóval az a feladat h C nyelven meg kell írni hogy bekérek egy max 10 elemű 2-es számrendszerbeli számot amit átalakít 10-es számrendszerbelire
Én úgy gondoltam hogy 10 elemű tömb abba betöltöm a számokat egyesével tehát az 1/0-kat
és visszafelé adok nekik értéket tehát a tömb első eleme 512 őt ér a 2. az 256 ot és igy tovább 10 ig aztán ahol 1 es van annak az értékét adja össze kb 10 if
Szóval jol gondolom vagy nem van egyszerűbb megoldás vagy nem?Xbox One: bandymnc
-
bandi0000
nagyúr
válasz Jester01 #3553 üzenetére
na jól van ez nekem magas szerintem úgy megcsinálom ahogy kitaláltam így leg elhiszi a tanár hogy egyedül csináltam
csak annyit kérek hogy hogy tudom leírni azt hogy én adjam meg a tömb elemeit?
for(i=0;i<5;i++)
{
scanf("%d",&x);
tmb[i]=x;
}
printf("%d\n",tmb[i]);
így próbáltam de nem jó[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
Elég barbár módszer
De ezen az elven megírható e egyszerűbben
(2-es számrendszerből 10-be konvertálás)
int tmb[10],i,x=1,a;
for(i=0;i<10;i++)
{
scanf("%d",&tmb[i]);
}
if(tmb[0]==1)
{
x=x+512;
}
if(tmb[1]==1)
{
x=x+256;
}
if(tmb[2]==1)
{
x=x+128;
}
if(tmb[3]==1)
{
x=x+64;
}
if(tmb[4]==1)
{
x=x+32;
}
if(tmb[5]==1)
{
x=x+16;
}
if(tmb[6]==1)
{
x=x+8;
}
if(tmb[7]==1)
{
x=x+4;
}
if(tmb[8]==1)
{
x=x+2;
}
if(tmb[9]==1)
{
x=x+1;
}
printf("10-es szamrendszerben:%d\n",x);
system("pause");
}[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
hali
int main()
{
char tmb[10];
int i,x=0;
for(i=10;i>=1;i--)
{
scanf("%d",&tmb[i]);
if (tmb[i]==1)
{
x=x*2+tmb[i];
}
if (tmb[i]==0)
{
x=x*2+tmb[i];
}
}
printf("%d\n",x);
system("pause");
}itt tartok a feladattal lényegében számrendszer átalakítás 2-ből 10 be csak annyi lenne a gond hogy úgy kellene feltölteni a tömböt hogy beírom a 10 számjegyes számokat (1,0) és nem egyesenként ütöm be hanem az egészet leírom és betölti 1-sével a tömbbe
Xbox One: bandymnc
-
bandi0000
nagyúr
hali
Olyan problémám lenne hogy az a feladat hogy van egy random számokkal teli tömb és egyesével meg kell vizsgálni hogy a tömb-ben lévő szám melyik négyzetszámhoz van legközelebb nah én eljutottam ideáig de az a baj hogy mindig ugyanazokat írja ki a szám mellé
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
int main()
{
FILE *f;
f=fopen("D:\\2000.txt","r");
int i,tmb[2000],a=1,b=2,c;
for(i=0;i<2000;i++)
{
fscanf(f,"%d",&tmb[i]);
}
while(!(a<tmb[i] && b<tmb[i]));
{
a=a*2;
b=b*2;
}
// c=(tmb[i]-a)<(tmb[i]-a);
for(i=0;i<2000;i++)
printf("\n%d %d %d",tmb[i],a,b);
system("pause");
}[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
hali
Remélem nem zavartok el, lenne egy kis gondom, érettségi előtt állok ,és a karakteres kezelés nem a szívem csücske, lenne egy olyan problémám hogy, röviden bekérek egy szavat a szo[20] tömbbe, és a szó betűit kell abc sorrendbe rendezni, ezt így csináltam:
tehát char szo[20], tmb(ez lenne egy csere változó amibe eltárolok 1 betűt ideiglenesen)for(i=strlen(szo)-1;i>0;i--)
{
for(j=0;j<i;j++)
{
if(szo[j+1]<szo[j])
{
tmb=szo[j+1];
szo[j+1]=szo[j];
szo[j]=tmb;
}
}
}
for(i=0;i<strlen(szo);i++ printf("%s\n",szo[i]);igazából semmit nem csinál, a szót bekéri valszeg meghalhat már a for-ál is, bár eddig kiírta a szöveget változatlanul de most már azt se csinálja
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz EQMontoya #5343 üzenetére
Köszi teljesen egyértelmű és azt is csináltam, számokkal tudok buborékrendrzni de betűvel nem próbáltam soha, a bemásolt kód elvilrg az is, tehát ha ugye egyik betű nagyobb mint másik akkor cserélgesse, csak nem akar működni, ha benne hagyom a for ba a -1et akkor kidob exe hibával ha nincs benne akkor sztem átlép a foron, vagy kitörli a szöveget
Másik tömböt nem csináltam csak egy tmb karakteres változot vettem fel amibe ideiglenesen tárolom az egyes betűket
[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz zsambek #5349 üzenetére
/*
printf("4.Feladat\n");
printf("Kerek egy szoveget:"); gets(szo); // i=4 1<0
for(i=strlen(szo)-1;i>0;i--)
{
for(j=0;j<i;j++)
{
if(szo[j+1]<szo[j])
{
tmb=szo[j+1];
szo[j+1]=szo[j];
szo[j]=tmb;
}
}
}
for(i=0;i<strlen(szo);i++)
printf("%c",szo[i]);*/hibátlanul rendez, igazából a kiíratást csesztem el, %s-el akartam kiíratni a karaktereket nem %c-vel
de van még egy technikai kérdésem, van egy olyan feladat is hogy bekért szóból állapítsam meg hány különböző karakter van, elvileg angol ABC betűire kéne csak gondolnom, arra gondoltam, hogy felveszek egy 26 elemű tömböt for ezt mindig vizsgálja, hogy a szó mondjuk első betűje benne van e, ha nincs akkor beleírja és így tovább, csak ha ezt a tömböt felveszem, tmb[26], és nem rakok bele semmit akkor mi van? akkor is helyesen tudná vizsgálni? vagy fel kéne tölteni valami karakterrel ami biztos nincs benne?
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz zsambek #5351 üzenetére
megmondom őszintén közbe megcsináltam mialatt válaszoltál nem hiszem hogy egyre gondoltunk de működik, az az igazság hogy így ránézve egyáltalán nem bonyolult de amíg kiszenvedtem az sok volt, nevetséges de sehol se növeltem a j-t és ez akasztotta meg mindig
for(i=0;i<strlen(szo);i++)
{
j=0;
while(j<26)
{
if(szo[i]==ang[j]) j=26;
else
{
if(szo[i]!=ang[j] && ang[j]=='0') { ang[k]=szo[i]; k++; j=26; }
else j++;
}
}
}igazából még egy kis szövegértelmezési gondom van 2010.10-es érettségit csinálom, anagrammákat kell keresni, első feladat volt a bekért szó különálló karaktereit megszámolni és kiírni, a második a forrásfájlba lévő szavak abc sorrendbe írás, és a 3. meg az hogy kérjek be 2 szót és döntsem el anagramm e, és valahogy nem jön össze a kép, hogy a 2 szó egymásnak anagrammái e, vagy az abc sorrendbe rendezett szavak közül van e anagrammája,
Kérjen be a felhasználótól két szót, és döntse el, hogy a két szó anagramma-e! Ha azok
voltak, írja ki a képernyőre az „Anagramma” szót, ha nem, akkor pedig a „Nem
anagramma” szöveget!Xbox One: bandymnc
-
bandi0000
nagyúr
válasz zsambek #5357 üzenetére
6. feladatra van valami jó tipped?
Nem tudom hogy kezdjek neki, vagyis oké megkeresem a legnagyobb karakterszámút, az 10, nekem csak az jutott eszembe, hogy az összes 10 elemű szót kidobom egy új tömbbe, és ott kezdem elölről az össze hasonlítgatást, mint az elején, amit megtalált kinullázom és legközelebb nem találja meg, csak ez megint vagy +50 sor
Xbox One: bandymnc
Ú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!
- Kerékpárosok, bringások ide!
- Androidos tablet topic
- Sony MILC fényképezőgépcsalád
- Sweet.tv - internetes TV
- Mérföldkőhöz ért az LG a Micro-OLED technológiában
- Invitel (TV, internet, telefon)
- USB to S/PDif konverter a modern RIAA, elektroncsövekkel
- Facebook és Messenger
- Mibe tegyem a megtakarításaimat?
- TCL LCD és LED TV-k
- További aktív témák...
- MacSzerez.com - iPhone 11 Pro / 64GB / Kártyafüggetlen / Space Grey / Garancia!
- Google Pixel 8 Pro Bay 128gb - Használt, Google gari, akár beszámítással
- Gamer PC RTX 3070 Intel i5 10600KF 1TB NVME SSD Nagyrészt új alkatrészek Garancia és Beszámítás!
- Apple iPhone 15 Pro Black 1TB - Makulátlan, Apple garancia, akár beszámítással
- Apple iPhone 14 Pro Max 1TB - Makulátlan, akár beszámítással
- ASRock FM2 félkonfig 4 magos APU-val, hátlappal, GARIVAL
- Windows Server 2016, 2019, 2022 Standard, Datacenter, Essentials termékkulcsok - MEGA akció!
- Shimano fékváltókar jobb oldali, 7 sebességes, új!
- Kingston HyperX Predator 2x8GB DDR4 3200MHz CL16 Eladó! 12.000.-
- Windows 7 Home Premium, Pro, Ultimate és Windows 8, 8.1 Pro licenckulcsok 64, 32 bit - MEGA Akció!
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs