|
|
|
| Добрый день! Нужна прога, нужно забинтовать буквы точнее русский алфавит на цифры а=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);
} | |
|
|