Hirdetés
- EarFun Air Pro 4+ – érdemi plusz
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Xiaomi 17 - még mindig tart
- Külföldi prepaid SIM-ek itthon
- Samsung Galaxy A56 - megbízható középszerűség
- iPhone topik
- Telekom mobilszolgáltatások
- Poco F8 Ultra – forrónaci
- Apróbb változással jön a Pixel 11 az első képek szerint
- Honor 200 - kétszázért pont jó lenne
Ú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!
- Gigabyte A16 CVH 15.6" FHD+ IPS i7-13620H RTX 5060 16GB 512GB NVMe IR kam gar
- Lenovo T15 G2 i7-1185G7 16Gb ram, 512Gb NVMe, 15,6", számla, 1 év garancia
- Lenovo ThinkCentre M920q i5-9500T / 16GB RAM DDR4 / 256GB SSD / Windows 11 Pro USFF mini PC Tiny PC
- Dell Latitude 5501,15.6" FHD,i5-9400H,16GB DDR4,512GB NVMe SSD,WIN11,LTE KÁRTYA,ÚJ AKKU
- Lenovo ThinkVision S27i-30 Monitor 27" - új állapot, garancia: 2029.01.16. 1920x1080, 100Hz, IPS
- BESZÁMÍTÁS! Nintendo Switch V2 32GB játékkonzol garanciával hibátlan működéssel
- AKCIÓ! Intel Core i9 9900K 8 mag 16 szál processzor garanciával hibátlan működéssel
- Audi A6 C5 Multimedia - 1/32GB / 12 hó jótállás
- GYÖNYÖRŰ iPhone 14 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3971, 94% Akkumulátor
- AKCIÓ! Apple MacBook Pro 14 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
Á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:

