
C - retazce
Ahoj mal som spravit program ktory urci presny pocet jednotlivych znakov vo vete, a napise jednotlive znaky a ich konkretny pocet kolko ich je. Vsetko slape ale pred tym mi to napise jednotku a neviem preco len tak odveci nevie niekto??
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "retazec.h"
int main()
{
const int MAX=40;
char veta[MAX];
printf("Zadaj vetu: ");
fgets(veta,MAX,stdin);
rozbor(veta);
return 0;
}
void rozbor(char veta[])
{
int dlzka=strlen(veta);
int i=0;
int j=0;
int skuska=0;
int pocet=0;
char znak=0;
while(i<177)
{
for(j=0;j<dlzka;j++)
{
if(veta[j]==znak)
{
pocet++;
skuska=1;
}
}
if(skuska==1)
{
printf("%c %d\n",znak,pocet);
}
skuska=0;
pocet=0;
i++;
znak++;
}
}
lebo pocitas aj CR a LF znaky a vypisujes ich debilne pomocou %c
(BTW. mas tam zbytocne dve premenne i a znak ktore znamenaju uplne to same)
Co je CR a LF znak?
len tak mimochodom, debugger pouzivat nebudes ani za svet?
jaj no jasne tie prve znaky tam zaratavat nemusim a este mi to pocita aj jeden z nich. Este som sa chcel spitat ak to nerobi velke starosti ako spravim aby program triedil tie pismena podla abecedy ale Velke aj male pismena dokopy??
if(tolower(veta[j])==znak)
To iba vsetky Velke pismena v retazci da na male nie??
chcel si pocitat velke a male dokopy. Ked nie tak potom ja neviem co chces.
No chcel som aby to triedilo podla abecedy aj velke aj male tj. aAbBcC...xXyYzZ lebo normalne to robi abc...xzyABC....XYZ
if(znak>='A'&&znak<='Z')
si otestujes a vypises aj pocet pre (znak-('a'-'A'))
a potom
if(znak>='a'&&znak<='z')
nebudes robit nic.