Hirdetés
- A legújabb iPhone kiegészítő egy zokni, amit magunkra akaszthatunk
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Külföldi prepaid SIM-ek itthon
- Szívós, szép és kitartó az új OnePlus óra
- Bemutatkozott a Poco X7 és X7 Pro
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- Realme GT 2 - aláírjuk
- Amazfit Helio Strap – képernyőmentesen
- Apple iPhone 16 - ígéretek földje
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
Új hozzászólás Aktív témák
-
Pcmagicnet
csendes tag
válasz
kingabo
#2354
üzenetére
Igazad van! Tényleg rosszul közelítettem meg a feladatot. Most csináltam egy olyat, hogy a bevitt karakterek száma adja meg a 100% -ot. Ez ugye bármennyi lehet! Ennek megfelelően számolom ki az egyes karakterek előfordulási gyakoriságát %-ban.
Szerintem jó lett, de azért nézd meg. Kíváncsi vagyok a véleményedre.
#include <stdio.h>
main()
{
int c1, nc, i, ures, nulla,egy,ketto,harom,negy,ot,hat,het,nyolc,kilenc,egyeb;
int a,b,c,d,e,f,g,h,i2,j,k2,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;
float k;
ures=c1=nc=a=b=c=d=e=f=g=h=i2=j=k2=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z = 0;
nulla=egy=ketto=harom=negy=ot=hat=het=nyolc=kilenc=egyeb= 0;
while((c1 = getchar()) != EOF){
++nc;
switch(c1){
case 'a': ++a; break;
case 'b': ++b; break;
case 'c': ++c; break;
case 'd': ++d; break;
case 'e': ++e; break;
case 'f': ++f; break;
case 'g': ++g; break;
case 'h': ++h; break;
case 'i2': +i2; break;
case 'j': ++j; break;
case 'k2': ++k2; break;
case 'l': ++l; break;
case 'm': ++m; break;
case 'n': ++n; break;
case 'o': ++o; break;
case 'p': ++p; break;
case 'q': ++q; break;
case 'r': ++r; break;
case 's': ++s; break;
case 't': ++t; break;
case 'u': ++u; break;
case 'v': ++v; break;
case 'w': ++w; break;
case 'x': ++x; break;
case 'y': ++y; break;
case 'z': ++z; break;
case ' ': ++ures; break;
case '\n': ++ures; break;
case '\t': ++ures; break;
case '0': ++nulla; break;
case '1': ++egy; break;
case '2': ++ketto; break;
case '3': ++harom; break;
case '4': ++negy; break;
case '5': ++ot; break;
case '6': ++hat; break;
case '7': ++het; break;
case '8': ++nyolc; break;
case '9': ++kilenc; break;
default: ++egyeb; break;
}
}
printf("Osszes karakter:%ddb=(100%s)\n\nEbbol:", nc, "%");
/* százalék számítás */
k = (nc/100.0) ;
printf("\na:");
for(i=0; i<=a; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (a / k), "%" );
printf("b:");
for(i=0; i<=b; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (b / k), "%" );
printf("c:");
for(i=0; i<=c; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (c / k), "%" );
printf("d:");
for(i=0; i<=d; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (d / k), "%" );
printf("e:");
for(i=0; i<=e; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (e / k), "%" );
printf("f:");
for(i=0; i<=f; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (f / k), "%" );
printf("g:");
for(i=0; i<=g; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (g / k), "%" );
printf("h:");
for(i=0; i<=h; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (h / k), "%" );
printf("i2:");
for(i=0; i<=i2; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (i2 / k), "%" );
printf("j:");
for(i=0; i<=j; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (j / k), "%" );
printf("k:");
for(i=0; i<=k2; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (k2 / k), "%" );
printf("l:");
for(i=0; i<=l; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (l / k), "%" );
printf("m:");
for(i=0; i<=m; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (m / k), "%" );
printf("n:");
for(i=0; i<=n; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (n / k), "%" );
printf("o:");
for(i=0; i<=o; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (o / k), "%" );
printf("p:");
for(i=0; i<=p; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (p / k), "%" );
printf("q:");
for(i=0; i<=q; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (q / k), "%" );
printf("r:");
for(i=0; i<=r; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (r / k), "%" );
printf("s:");
for(i=0; i<=s; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (s / k), "%" );
printf("t:");
for(i=0; i<=t; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (t / k), "%" );
printf("u:");
for(i=0; i<=u; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (u / k), "%" );
printf("v:");
for(i=0; i<=v; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (v / k), "%" );
printf("w:");
for(i=0; i<=w; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (w / k), "%" );
printf("x:");
for(i=0; i<=x; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (x / k), "%" );
printf("y:");
for(i=0; i<=y; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (y / k), "%" );
printf("z:");
for(i=0; i<=z; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (z / k), "%" );
printf("Ures:");
for(i=0; i<=ures; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n\n", (ures / k), "%" );
printf("0:");
for(i=0; i<=nulla; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (nulla / k), "%" );
printf("1:");
for(i=0; i<=egy; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (egy / k), "%" );
printf("2:");
for(i=0; i<=ketto; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (ketto / k), "%" );
printf("3:");
for(i=0; i<=harom; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (harom / k), "%" );
printf("4:");
for(i=0; i<=negy; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (negy / k), "%" );
printf("5:");
for(i=0; i<=ot; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (ot / k), "%" );
printf("6:");
for(i=0; i<=hat; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (hat / k), "%" );
printf("7:");
for(i=0; i<=het; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (het / k), "%" );
printf("8:");
for(i=0; i<=nyolc; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n", (nyolc / k), "%" );
printf("9:");
for(i=0; i<=kilenc; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n\n", (kilenc / k), "%" );
printf("Egyeb karakter:");
for(i=0; i<=egyeb; ++i){
printf("%s","*");
}
printf("(%1.1f%s) \n\n", (egyeb / k), "%" );
system("PAUSE");
return 0;
}Most már csak azt kéne megoldani a hisztogram kinyomtatásánál, hogy a 100% az max. 70 karakter vagyis * legyen. Az 50% 35 *, a 10 % 7 *....stb. Ezt hogy oldjam meg?
Köszi a segítséget!!!
Ú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!
- Hét új család perli az OpenAI-t öngyilkosság miatt
- Gigantikus fordulatot vett a GeForce RTX 50 Super sorozat törlése
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Magga: PLEX: multimédia az egész lakásban
- Sony MILC fényképezőgépcsalád
- Xbox Series X|S
- Milyen billentyűzetet vegyek?
- A legújabb iPhone kiegészítő egy zokni, amit magunkra akaszthatunk
- Gitáros topic
- Fejhallgató erősítő és DAC topik
- További aktív témák...
- Dell Inspiron 14 5401 / i5-1035G1 / 8gb ddr4 / 500gb nvme ssd / jó akku/ magyar bill. / töltő
- HP ZBook Fury 15 G8 -i7 11850H/32GB/1TB SSD/RTX A3000
- MSI Cyborg 15 A13VF-862 RTX 4060 8GB / i7-13620H / 16GB DDR5 / 512GB SSD / Garancia
- LG OLED 65 C21 4k kitűnő állapotban
- Apple iPhone 13 Pro 128 GB Graphite 1 év Garancia Beszámítás Házhozszállítás
- X670 DDR5 alaplapok kedvező áron garanciával!
- BESZÁMÍTÁS! Xiaomi Mi 2K 27 165Hz IPS QHD 1ms monitor garanciával hibátlan működéssel
- BESZÁMÍTÁS! MSI B550M R7 5700X 32GB DDR4 1TB SSD RTX 4070 12GB ZALMAN M4 A-Data 750W
- CTO Bontott 0perces TÜZES EZÜST MacBook Air 13.6" M4 10C/1G 16GB 512GB Gar.: 1 év APPLE világgar
- BESZÁMÍTÁS! HUAWEI MateBook 14 üzleti notebook - i5 1135G7 16GB DDR4 512GB SSD Intel Iris Xe IGP W11
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


