Ú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
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Mikrotik routerek
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- PlayStation 5
- pfSense - Avagy az okosított házirouter
- Kínai és egyéb olcsó órák topikja
- OLED monitor topic
- Samsung Galaxy Felhasználók OFF topicja
- UHD filmek lejátszása
- Samsung Galaxy A54 - türelemjáték
- Formula-1
- További aktív témák...
- RAM Kingston FURY Beast 32GB DDR5 6000MHz KF560C36BBE-32
- Asus A15 FA507NV 15.6" FHD IPS Ryzen 7 7735HS RTX 4060 16GB 512GB NVMe gar
- ASUS H97-PLUS + Intel Core i7-4790 + HyperX Savage 16GB RAM
- Dell Latitude 7290,12.5",FHD,i5-7300U,8GB DDR4,256GB SSD,WIN11
- MICROSOFT Surface Book 2,13.5", i5-7200U,8GB RAM,256GB SSD,WIN11
- Alkalmi vétel!Csere-Beszámítás! Csak tesztelt HP Omen 16! R9 8940HX / 32GB DDR5 / RTX 5060 / 1TB SSD
- MS SQL Server 2016, 2017, 2019
- BESZÁMÍTÁS! ASUS TUF GeForce RTX 3080 Ti 12GB videokártya garanciával hibátlan működéssel
- BESZÁMÍTÁS! Asus H110M i5 7500 8GB DDR4 250GB SSD GTX 1050Ti 4GB ZALMAN T3 Plus Deepcool 400W
- AKCIÓ! LENOVO ThinkPad P15 Gen 1 munkaállomás - i7 10875H 32GB DDR4 512GB SSD Quadro T2000 W11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





