Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2009, 23:58   #1
Darh
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 75
По умолчанию Строки на С++

Всем привет. Вот заданице: посчитать кол-во каждой буквы в строке (сколько а, сколько б и тд). Можно даже в английской раскладке. Давно надо мной висит эт задание, надеюсь ток на вас.
Есть ток вот бред, от безысходности в голову пришел:
Код:
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "locale.h"

void main()
{
    char a[100];
    int n,а=А=0, б=Б=0, в=В=0, г=Г=0, д=Д=0, е=Е=0, ж=Ж=0, з=З=0, и=И=0, й=Й=0, к=К=0, л=Л=0, 
		м=М=0, н=Н=0, о=О=0, п=П=0, р=Р=0, с=С=0, т=Т=0, у=У=0, ф=Ф=0, х+х=0, ц=Ц=0, ч=Ч=0,
		ъ=Ъ=0, ы=Ы=0, ь=Ь=0,э=Э=0, ю=Ю=0, я=Я=0;		
    setlocale(LC_ALL,"rus");
    printf("Введите строку в русской раскладке:");
    gets(a);
    n=strlen(a);
    for(int i=0;i<n;i++)
    {
        if (a[i]=430) а++;
        if (a[i]=431) б++;
        if (a[i]=432) в++;
		if (a[i]=433) г++;
		if (a[i]=434) д++;
		if (a[i]=435) е++;
		if (a[i]=436) ж++;
		if (a[i]=437) з++;
		if (a[i]=438) и++;
		if (a[i]=439) й++;
		if (a[i]=43А) к++;
		if (a[i]=43В) л++;
		if (a[i]=43С) м++;
		if (a[i]=43D) н++;
		if (a[i]=43E) о++;
		if (a[i]=43F) п++;
		if (a[i]=430) р++;
		if (a[i]=431) с++;
		if (a[i]=432) т++;
		if (a[i]=433) у++;
		if (a[i]=444) ф++;
		if (a[i]=445) х++;
		if (a[i]=446) ц++;
		if (a[i]=447) ч++;
		if (a[i]=448) ш++;
		if (a[i]=449) щ++;
		if (a[i]=44A) ъ++;
		if (a[i]=44B) ы++;
		if (a[i]=44C) ь++;
		if (a[i]=44D) э++;
		if (a[i]=44E) ю++;
		if (a[i]=44F) я++;
    }
	printf("Букв а:", а);
    printf("Букв б:", б);
	printf("Букв в:", в);
	printf("Букв г:", г);
	printf("Букв д:", д);
	printf("Букв е:", е);
	printf("Букв ж:", ж);
	printf("Букв з:", з);
	printf("Букв и:", и);
	printf("Букв й:", й);
	printf("Букв к:", к);
	printf("Букв л:", л);
	printf("Букв м:", м);
	printf("Букв н:", н);
	printf("Букв о:", о);
	printf("Букв п:", п);
	printf("Букв р:", р);
	printf("Букв с:", с);
	printf("Букв т:", т);
	printf("Букв у:", у);
	printf("Букв ф:", ф);
	printf("Букв х:", х);
	printf("Букв ц:", ц);
	printf("Букв ч:", ч);
	printf("Букв ш:", ш);
	printf("Букв щ:", щ);
	printf("Букв ъ:", ъ);
	printf("Букв ы:", ы);
	printf("Букв ь:", ь);
	printf("Букв э:", э);
	printf("Букв ю:", ю);
	printf("Букв я:", я);
    getch();
}
и в кодировки букв тож оч сильно сомневаюсь)))
Darh вне форума Ответить с цитированием
Старый 21.12.2009, 00:06   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Значит так:
1. Берем первую букву в строке (он же массив букв), запоминаем ее и удаляем;
2. Проходимся по массиву ищем нужную букву увеличиваем счетчик (др. массив для конкретной раскладки) и удаляем ее;
3. Как достигли конца массива берем вторую букву и с 1 по 3 пункты.
psycho-coder вне форума Ответить с цитированием
Старый 21.12.2009, 00:21   #3
Darh
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 75
По умолчанию

По работе проги уже несколько способ предлагали, сама проблема в написание кода.
Darh вне форума Ответить с цитированием
Старый 21.12.2009, 00:24   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Тут помочь увы не смогу, плохо Си знаю, да и компилятора под рукой нет.
psycho-coder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление элементов строки s2 из строки s1 Ueshua Общие вопросы C/C++ 4 20.12.2009 13:06
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
Строки. Как вывести часть строки? Anfall Общие вопросы Delphi 7 26.02.2009 09:10
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45