- Netfone
- Okosóra és okoskiegészítő topik
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- iPhone topik
- Poco X6 Pro - ötös alá
- Motorola Edge 40 - jó bőr
- Magyarországon is kapható a Moto G85 5G
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Milyen okostelefont vegyek?
- Samsung Galaxy A54 - türelemjáték
Új hozzászólás Aktív témák
-
#90999040
törölt tag
válasz
kingabo #2501 üzenetére
Igen, így még valóban lehet optimalizálni.
Jester01: valóban igazad volt, hogy a feltétel módosításával működőképes a kód. Mondjuk első nekifutásra nem is néztem meg olyan részletesen a #2497-es hozzászólásomban említett okok miatt, inkább működő alternatívákat kerestem, és csak a #2498-as hozzászólásod után tértem vissza az eredeti kódra.
-
#90999040
törölt tag
válasz
Jester01 #2498 üzenetére
Hát nem tudom..... Én akárhogy nézem, ez szerintem csak akkor működik, ha a do-while ciklust teljes egészében kiveszi(persze ezen belül a for-nak meg kell maradnia), vagy a while-ben olyan feltételt ad meg, ami állandóan "FALSE"-t ad. pl.: (1==2). És szerintem a "vege" valtozó is felesleges.
Vagy én tévednék? -
#90999040
törölt tag
válasz
Jester01 #2496 üzenetére
Szerintem ez a feltétel megfordításával sem lesz jó.
1. Keveri az osztandót és az osztót.
2. Miért kell ehhez 3 ciklus, mikor 2 bőven elég?
A külső ciklus az osztandót növeli, a belső pedig az adott osztandó mellett az osztót.Ha mindenképpen do-while, akkor én így csinálnám:
int main() {
int n, oszto, osztando, prim;
printf("Melyik szamig nezzem meg?");
scanf("%d", &n);
for (osztando=2; osztando<=n; osztando++) {
prim=0;
oszto=1;
do {
if (osztando % oszto == 0) {prim++;}
oszto++;
} while ((prim<=2) && (oszto<=osztando));
if (prim==2) printf("%d\n", osztando);
}
return 0;
}Egyébként pedig így:
int main()
{
int osztando,oszto,k,hatar;
printf("Melyik szamig nezzem meg? ");
scanf("%d",&hatar);
for (osztando = 2;osztando <= hatar; osztando++) {
k=0;
for (oszto = 1; oszto <= osztando; oszto++) {
if (osztando % oszto == 0) {k++;}
if (k > 2) {break;}
}
if (k==2) {printf("%d\n",osztando);}
}
return 0;
} -
#90999040
törölt tag
Bináris fájlt fread-el én így olvasok:
int main()
{
long n = 0;
char d;
FILE *f;
f=fopen(fájlnév, "rb");
if (f == NULL) perror ("Error opening file");
else
{
fread(&d,1,1, f);
while(!feof(f))
{
n++;
printf("Dec: %d\n", d);
printf("Hex: %X\n", d);
fread(&d,1,1, f);
}
fclose(f);
printf ("Hossz: %d\n", n);
return 0;
}
}Természetesen másképp is lehet, de ha nem vagy biztos magadban, akkor célszerű 1 hex editorral leellenőrizni az olvasási kódodat ugyanazon a fájlon, hogy valóban azt csinálja-e, amit szeretnél
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Apple iPhone 15 (újszerű, független , 128 GB, 6 GB RAM, Kék)
- Samsung 55" QE55QN700CTXXH 8K UHD Smart Neo QLED Mini LED TV
- Asus VivoBook S15 S513 OLED (S513EA-L12917) Fekete - Garancia 2026.06.22.
- DDR5 GAMER PC: Új RYZEN 7 8700F/9700X/9800X3D +RTX 4060/5060/4070/5070 +16-64GB DDR5! GAR/SZÁMLA!
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook 14" -80% i7-10610U 16/512 FHD
- Keresem : Lenovo Legion 5 16IRX9 83DG0037HV
- Honor Pad X8a 64GB Wifi,1 év Garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 16/32/64GB RAM RX 7700XT 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Gamer számítógép Asus B150M i3 6100 16GB DDR4 240GB SSD GTX 1050 Ti 4GB Sharkoon 500W
- LG 27CN650N-6A - Felhő Monitor - 1920x1080 FHD - 75Hz 5ms - USB Type-C - Quad Core - BT + WiFi
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest