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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2011, 23:41   #1
TheKostarico
Пользователь
 
Регистрация: 22.05.2010
Сообщений: 15
Восклицание Замена букв числами в алфавитном порядке в Visual C++

Это часть проги для шифрования строки. Буквы кодируемой строки нужно заменить числами, соответствующие их порядку в алфавите (т.е. 'а' - 1, 'б' - 2 и т.д.)
Сначала сделал через ASCII, прибавив 97 к коду, но понял что после буквы 'р' код символов меняется.
Есть ли способ организовать такую замену через цикл или всё же придется каждой из 33 букв задавать номер?

Последний раз редактировалось TheKostarico; 30.11.2011 в 00:30.
TheKostarico вне форума Ответить с цитированием
Старый 30.11.2011, 00:45   #2
TheKostarico
Пользователь
 
Регистрация: 22.05.2010
Сообщений: 15
По умолчанию

Может с указателями что-нибудь можно сделать?
Только вот не понимаю тип то разный - int и char..
TheKostarico вне форума Ответить с цитированием
Старый 30.11.2011, 13:06   #3
TheKostarico
Пользователь
 
Регистрация: 22.05.2010
Сообщений: 15
По умолчанию

#include<stdio.h>
#include<string.h>

int main()
{

char word[40];
int d[i];
printf("input the word\n");
scanf("%s",&word);
w=strlen(word);
for(i=0;i<w;i++)
{
if(word[i]='а')
d[i]=1;
if(word[i]='б')
d[i]=2;
if(word[i]='в')
d[i]=3;
}
for(i=0;i<w;i++)
printf("%d ",d[i]);
printf("\n");

return 0;
}

При вводе строки "абв" выдает 333! В чём ошибка?
TheKostarico вне форума Ответить с цитированием
Старый 30.11.2011, 21:08   #4
alexey_kip
Форумчанин
 
Регистрация: 19.11.2011
Сообщений: 198
По умолчанию

int d[i];//нельзя переменную писать при объявлении массива
alexey_kip вне форума Ответить с цитированием
Старый 30.11.2011, 21:09   #5
alexey_kip
Форумчанин
 
Регистрация: 19.11.2011
Сообщений: 198
По умолчанию

>>if(word[i]='а')
d[i]=1;
if(word[i]='б')
d[i]=2;
if(word[i]='в')
d[i]=3;

не прировнять надо, а сравнить (не "=", а "==")
alexey_kip вне форума Ответить с цитированием
Старый 30.11.2011, 21:12   #6
alexey_kip
Форумчанин
 
Регистрация: 19.11.2011
Сообщений: 198
По умолчанию

да и вообще, в консоли "абв" не воспринимается как надо
alexey_kip вне форума Ответить с цитированием
Старый 01.12.2011, 09:16   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Пора бы за кросспост уже наказывать серьезней
http://programmersforum.ru/showthread.php?p=924933
p51x вне форума Ответить с цитированием
Старый 03.12.2011, 20:36   #8
TheKostarico
Пользователь
 
Регистрация: 22.05.2010
Сообщений: 15
По умолчанию

Спасибо всем за ответы!
р51х, не сердчай, я не хотел нарушать правила, но был вынужден, нужно было срочно, а в этом разделе было много просмотров моей темы, но ни одного ответа.
TheKostarico вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В алфавитном порядке GLM Microsoft Office Excel 1 01.02.2011 22:21
сортировка в алфавитном порядке stranger_508 Помощь студентам 0 24.10.2009 14:54
Сортировка в алфавитном порядке [MI_nor] Общие вопросы C/C++ 14 17.03.2009 23:12
дан текстовый массив из 200 букв. Выстроить в алфавитном порядке все строчные буквы Тина Помощь студентам 6 02.07.2008 22:53
отсортировать таблицу сначала в алфавитном порядке фамилий продавцов, затем в порядке возростания получен Lora Microsoft Office Excel 1 31.05.2008 17:22