Új hozzászólás Aktív témák
-
kingabo
őstag
válasz
Pcmagicnet
#2355
üzenetére
A az 'i2' és a 'k2' azok milyen betűk?
Ehelyett :printf("(%1.1f%s) \n", (a / k), "%" ); ez is írható: printf("(%1.1f\%) \n", (a / k));. Ha egy string-ben egy foglalt operátort akarsz használni, mint itt pl a %-ot, vagy idézőjelet("), akkor szimplán írj elé egy \ jelet.Ha a \ jel kellene az így néz ki: \\
Pont ugyanígy a printf("%s","*"); helyett printf("\*");
Illetve ha csak 1 karaktert íratsz ki akkor szebb a %s helyett a %c.
Ha akarsz a progidon rengeteget rövidíteni: ascii.
Kicsit bővebben, a ciklusban a c1 a bekért betű ascii kódját fogja tárolni (vagyis ha nem %c-vel íratod ki, hanem %d-vel akkor a betű helyett az ascii kódja kerül a képernyőre). Az ascii kódot pedig szépen fel tudod használni egy tömb indexelésére. Pl a szám tömb indexeléséhez:
if (c1>='0' && c1 <='9')
{
++szam[c1-48]; //a 0 ascci kodja 48, vagyis ezt le kell vonni
}
Hasonlóan rövid lesz a betűk esetén is az 'A' esetén 65-t kell levonni, a 'a' esetén 97-et. Persze a megfelelő méretű tömböket elötte le kell foglalni.(#2356) Pcmagicnet: ránézésre jó, kipróbálod és kiderül.
-
Pcmagicnet
csendes tag
válasz
Pcmagicnet
#2355
üzenetére
Itt a megoldás.( Ha jól gondolom )
/* százalék számítás */
k = (nc/100.0) ;
printf("\na:");
a2 = (nc/70.0); /* max 70 karaktert ír ki ha 100%. Ha pl: nc=100 ez osztva 70.0 -el
= 1.4. Ez a 70 karakternek az 1% -a! De ha az öszes karakter (nc)=1 akkor (nc/70.0)
= 0.01. Ekkor ez a 70 karakter 1% -a.*/
for(i=0; i<=(a/a2); ++i){ /* Az (a/a2) -vel megnézem hogy a 70 -nek az 1% -a hányszor
van meg az 'a' változóba. Ha pl: a=10 és az összes karakter is 10 amiből adódóan
az a2 értéke 0.1 akkor (a/a2) azaz 10 / 0.1 = 100. Így a kapott eredmény
100% és 70db * karaktert ír ki. Másik példával: ha öszzes karakter (nc)=100
ez osztva 70.0 -el = 1.4. Ez a 70 karakternek az 1% -a! Ebből 20db az 'a' betű, a többi más
akkor (a/a2) azaz 20 / 1.4 = 14. Tehát 14db karakter a 70 karakter 20%-a. */
printf("%s","*");
}
printf("(%1.1f%s) \n", (a / k) , "%" );
Ú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!
- Apple MacBook
- sziku69: Szólánc.
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Bambu Lab 3D nyomtatók
- Villanyszerelés
- Automata kávégépek
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Project Motor Racing-Straight4 Studios
- AMD vs. INTEL vs. NVIDIA
- Kerékpárosok, bringások ide!
- További aktív témák...
- Lenovo Ideapad Slim 3 - 16"WUXGA - i5-12450H - 16GB - 1TB - Win11 - MAGYAR - Garancia
- Xiaomi Watch 2 2027.04.09-ig Garancia Beszámítás Házhozszállítás
- Apple iPhone 14 Pro Max 128 GB Black 100% Akku 1 év Garancia Beszámítás Házhozszállítás
- Ps5 slim digitalis hiabtaln 3 hónap jótállás!
- A++ Dell Pro 14"iPS WUXGA, Core Ultra 5 238V, 32 / 512 NVMe, TB4 WiFi7 ujjl.olv, 2028-0623 gyártói
- Eladó Samsung Galaxy A55 5G 8/256GB fekete / 12 hónap jótállás
- LG 32U990A-S / 32" Nano IPS Black / 6K UHD 6144x3456 / 21 Megapixel 224 PPI / Adobe RGB 99%
- GYÖNYÖRŰ iPhone 11 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4355
- Xbox Wireless Headset 3 hó garancia, számlával!
- Apple Airpods 4 (2026.12.30-ig Apple Garancia)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Pont ugyanígy a
Kicsit bővebben, a ciklusban a c1 a bekért betű ascii kódját fogja tárolni (vagyis ha nem %c-vel íratod ki, hanem %d-vel akkor a betű helyett az ascii kódja kerül a képernyőre). Az ascii kódot pedig szépen fel tudod használni egy tömb indexelésére. Pl a szám tömb indexeléséhez:

