Л
ленарано
язык си. Бьюсь над задачей несколько дней.
Вот я немного навояла. Что дальше делать пока не знаю(((Не получается подсчитать и заполнить количество каждого символа.
Вот я немного навояла. Что дальше делать пока не знаю(((Не получается подсчитать и заполнить количество каждого символа.
C++:
#include <locale.h>
#include <string.h>
#include <conio.h>
void bubbleSort(char *a, int *b, int size );
struct str
{char sim;
int skl;};
int main(void)
{setlocale(LC_ALL,"rus");
struct str s [256], *str1[256];
int i,j,len;
char tmpc;
char string[21];
memset( s, 0, sizeof(s));
len = strlen( string );
printf( "Введите строку: \n" );
gets (string);
i=0;
while(string[i]!='\0')
{s[i].sim=string[i];
printf( "%dсимвол %c\n",i+1, s[i].sim );
i++;
}
for(i=0;i<len;i++)//вот на этом этапе явно что-то не так
{if(s[i].sim)
s[i].skl+=1;
printf( "Символ '%c'. Он встречался %d раз\n", s[i].sim, s[i].skl );
}
}
void bubbleSort(char *a, int *b, int size )
{
int tmp, i, j;
char tmpc;
for(i = 0; i < size - 1; ++i) // i - номер прохода
{
for(j = 0; j < size - 1; ++j) // внутренний цикл прохода
{
if (b[j + 1] < b[j])
{
tmp = b[j + 1];
b[j + 1] = b[j];
b[j] = tmp;
tmpc = a[j + 1];
a[j + 1] = a[j];
a[j] = tmpc;
}
}
}
}