IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Работа со строками на С++, частота букв в тексте
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 51
Пол: Мужской
Реальное имя: Владимир

Репутация: -  0  +


Задача:программа должна выделять в тексте с русскими и английскими словами все русские буквы и определить наиболее часто повторяющиеся из них.
Подскажите можно ли на си++ задать массив 'а' до 'я' целых чисел для подсчета встречающихся букв?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Тогда можно так (но учти, это решение привязано к кодировке... У меня, например, оно работать не будет - кириллицы в таблице символов нет - так что я даю только идею, проверяй сам):
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
#include <stdlib.h>

int LetterIndex(char ch) {
// Буква от "а" до "п" ?
if(ch >= (char)160 && ch <= (char)191) return (ch - 160);
else
// Буква от "р" до "я" ?
if(ch >= (char)224 && ch <= (char)239) return 16 + (ch - 224);
// Значит, вообще не русская буква
return -1;
}

int main(void) {
clrscr();
int i, k = 0, count[32], max, pos;
char txt[10],rus[10],ch,maxch;

cin >> txt;
for(i = 0; i < strlen(txt); ++i) {
if((pos = LetterIndex(txt[i])) > -1)
count[pos] += 1;
rus[++k] = txt[i];
}

maxch = count[0];
for(i=0;i<=32;i++)
if (count[i]>maxch) maxch=count[i];
cout<<maxch;
getch();
return 0;
}
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 20:35
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name