Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: Melmo7   (09.02.2018 в 03:13)
Добрый день! Нужна прога, нужно забинтовать буквы точнее русский алфавит на цифры а=1, б=2 в=3 и тд соответсвенно последняя буква алфавита я=33, и при вводе в прогу слов нужно чтобы выходили цифры, забыл написать при выходе буквы алфавита на 10 и более суммы прибавляются до 1 до 9, например в букве К равно по алфавиту на 12 (1+2=3) далее пример слово: картофель, должно выйти цифры к=12 (1+2=3) а=1 р=18 (1+8=9) т=20 (2+0=2) о=16 (1+6=7) ф=22 (2+2=4) е=6 л=13 (1+3=4) ь=30 (3+0=3) итак теперь сложим 3+1+9+2+7+4+6+4+3=39 прошу написать в комментарий решение, заранее спасибо!
проверьте где ошибка в коде, заранее спасибо.

#include <iostream>
//#include <map>
#include <Windows.h>

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
setlocale(LC_ALL, "Russian");

char str[256];

char lower[34] = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
char upper[34] = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";

std::cout << "Ввести строку: ";
std::cin.getline(str, 256);

int count = 0;
int i = 0;

for(int j=0; j<256 && str[j]!='\0'; j++)
{
for(i=0; i<33; i++)
{
if(str[j] == lower[i] || str[j] == upper[i])
{
count += (i+1)/10 + (i+1)%10;
break;
}
}
if(i==33)
{
if(count)
{
std::cout << count;
count = 0;
}
std::cout << str[j];
}
}
if(count) std::cout << count;

system("pause");
return(0);
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: