Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 2 / 0
Регистрация: 04.02.2013
Сообщений: 92
1

Поставить в строке номер для буквы в соответствии с алфавитом

31.03.2013, 15:42. Показов 1047. Ответов 8
Метки нет (Все метки)

Всем привет, вот занимаюсь таким делом:
У меня есть слово, допусти "Hello".
в этом слово мне нужно поставить каждой букве номер в соответствии с алфавитом. Написал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main () {
    char title[58]={};
    for(char i='A';i<='z';++i){
        title[i-'A']=i;
    }
    vector<pair<char,int>>dictionary(58);
    for(int i=0;i<58;i++)
    {
        dictionary[i].first=title[i];
        dictionary[i].second=i;
    }
    for(int i=0;i<58;i++)
    {
        cout<<dictionary[i].first<<" "<<dictionary[i].second<<" "<<endl;
    }
    return 0;
}
Теперь вопрос: как сравнивать буквы в алфавите и в строке?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2013, 15:42
Ответы с готовыми решениями:

Отсортировать полученный массив строк в соответствии с русским алфавитом
Не могу разобраться с программой (массивы) Составить программу, которая осуществляет замену...

Вывести на экран слова текста в порядке, в соответствии с латинским алфавитом.
Дана строка символов, состоящая их произвольного текста на английском языке, слова разделены...

Каждой букве алфавита(букву ё не учитывать) поставить в соответствие код-номер места буквы в алфавите
Каждой букве алфавита(букву ё не учитывать) поставить в соответствие код-номер места буквы в...

Порядковый номер буквы в строке
Есть прога, выводит в алф. порядке буквы, вход в текст по одному разу. Не знаю как сделать, чтобы...

8
1453 / 790 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
31.03.2013, 16:04 2
Я бы так реализовал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <vector>
 
int main() 
{
    std::vector<std::pair<char, int>> dictionary;
    std::string str = "ABCDEFGabcdefg";
    for (auto& ch : str) dictionary.push_back(std::make_pair(ch, std::toupper(ch)-65));
    for (auto& p : dictionary) std::cout<<p.first<<" "<<p.second<<"\n";
    
    return 0;
}
0
2 / 2 / 0
Регистрация: 04.02.2013
Сообщений: 92
31.03.2013, 16:11  [ТС] 3
ругается на 9 и 10 строчку
0
414 / 410 / 95
Регистрация: 06.10.2011
Сообщений: 832
31.03.2013, 16:18 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <vector>
 
using namespace std;
 
int main()
{
    string str="Hello";
    vector< pair<char,unsigned> > vec;
    pair<char,unsigned> p;
    for (size_t i = 0; i!=str.size(); ++i)
        if (isalpha(str[i]))
        {
            p.first = str[i];
            p.second = (unsigned)toupper(str[i])-64;
            vec.push_back(p);
        }
 
    for (vector< pair<char,unsigned> >::iterator it= vec.begin(); it!=vec.end(); it++)
        cout<<it->first<<" "<<it->second<<endl;
    return 0;
}
Добавлено через 27 секунд
Цитата Сообщение от ritmix10 Посмотреть сообщение
ругается на 9 и 10 строчку
yuron_477 использует С++ 11
1
2 / 2 / 0
Регистрация: 04.02.2013
Сообщений: 92
31.03.2013, 16:21  [ТС] 5
Спасибо!
кстати что функция toupper делает?
0
414 / 410 / 95
Регистрация: 06.10.2011
Сообщений: 832
31.03.2013, 16:25 6
Цитата Сообщение от ritmix10 Посмотреть сообщение
Спасибо!
кстати что функция toupper делает?
фукция toupper получает на входе текстовый символ и возвращает его заглавную версию (большую)
Например, toupper('a') вернет 'A'
0
2 / 2 / 0
Регистрация: 04.02.2013
Сообщений: 92
31.03.2013, 16:34  [ТС] 7
ммм т.е. ставить номер придется только маленьким или большим буквам?
0
414 / 410 / 95
Регистрация: 06.10.2011
Сообщений: 832
31.03.2013, 18:58 8
ritmix10, ставить номер можно любым буквам, но его определение делать по большим или маленьким
0
2 / 2 / 0
Регистрация: 04.02.2013
Сообщений: 92
31.03.2013, 19:50  [ТС] 9
ага понял разберусь
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2013, 19:50

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

Определить номер позиции первой буквы в строке
буква может быть маленькой или большой русского или англ. алфавита. procedure...

Построить машину Тьюринга с единичным алфавитом * и на следующем окне (пустом) поставить такой же символ из алфавита
Недавно начал изучать машину тьюринга, совсем туплю. Построить машину тьюринга с единичным...

Напечатать номер позиции пятой буквы "к" в строке, или выдать сообщение, что в строке менее 5 букв "к"
Написать программу, выдающую номер позиции заданной строки, в которой в пятый раз встречается буква...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.