Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Liy
3 / 3 / 0
Регистрация: 08.06.2011
Сообщений: 11
#1

В заданной строке заменить буквы на их порядковый номер. - C++

08.06.2011, 18:14. Просмотров 1528. Ответов 2
Метки нет (Все метки)

В заданной строке, состоящей из цифр и латинских букв, заменить буквы на их порядковый номер в алфавите. Получившуюся строку вывести на экран.

Большая просьба помочь с программой. Заранее спасибо.

Добавлено через 18 минут
Буду признателен, если смогли бы помочь хотя бы алгоритмом на языке с++.

Сидел достаточно долго над программой, обдумал алгоритм: задаю в начале каждой букве значение.
После задаю строку и открываю цикл, в котором если встречается буква, то она заменяется на значение, заданное мною в начале. Но с помощью каких функций это сделать - не знаю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2011, 18:14     В заданной строке заменить буквы на их порядковый номер.
Посмотрите здесь:

C++ В последовательности введенных символов (последний '$') определить порядковый номер первой буквы R
C++ Порядковый номер буквы в строке
Вывести на экран порядковый номер слова,накрывающего К-ю позицию в строке C++
C++ нужно вывести самое длинное слово и его порядковый номер в исходной строке.
В строке заменить все буквы «О» на «Ъ», а буквы «Е» – на случайные символы C++
порядковый номер буквы C++
C++ Найти порядковый номер слова максимальной длины в строке и номер позиции, с которой оно начинается
C++ Определить порядковый номер первой буквы R (с учетом верхнего/нижнего регистров)
C++ Найти число пробелов в строке и заменить их на номер по порядку в исходной строке
Вывести на экран порядковый номер слова максимальной длины и номер позиции в строке, с которой оно начинается C++
Вывести порядковый номер слова максимальной длины и номер позиции в строке, с которой оно начинается C++
Заменить в заданной строке все буквы «о» на букву «а» C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.06.2011, 18:21     В заданной строке заменить буквы на их порядковый номер. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main()
{
    char str[] = "1A2bcd3ef4g";
    for(int i = 0; i < strlen(str); ++i)
    {
        if ((str[i] >= 'A')&&(str[i] <= 'Z'))
            std::cout << (int)str[i] - 64;
        else if ((str[i] >= 'a')&&(str[i] <= 'z'))
            std::cout << (int)str[i] - 96;
        else 
            std::cout << str[i];
    }
    std::cout << (int)str[1];
    system("pause");
    return 0;
}
Добавлено через 1 минуту
если присваивать строке, то надо обрабатывать такой случай, когда номер > 9, т.е. занимает 2 символа, весь массив нужно сдвигать
Liy
3 / 3 / 0
Регистрация: 08.06.2011
Сообщений: 11
08.06.2011, 18:23  [ТС]     В заданной строке заменить буквы на их порядковый номер. #3
Цитата Сообщение от soon Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main()
{
    char str[] = "1A2bcd3ef4g";
    for(int i = 0; i < strlen(str); ++i)
    {
        if ((str[i] >= 'A')&&(str[i] <= 'Z'))
            std::cout << (int)str[i] - 64;
        else if ((str[i] >= 'a')&&(str[i] <= 'z'))
            std::cout << (int)str[i] - 96;
        else 
            std::cout << str[i];
    }
    std::cout << (int)str[1];
    system("pause");
    return 0;
}
Добавлено через 1 минуту
если присваивать строке, то надо обрабатывать такой случай, когда номер > 9, т.е. занимает 2 символа, весь массив нужно сдвигать
Понял, спасибо огромное!
Yandex
Объявления
08.06.2011, 18:23     В заданной строке заменить буквы на их порядковый номер.
Ответ Создать тему
Опции темы

Текущее время: 23:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru