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

Есть ли в С++ массив с символьными индексами? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
gore-lykovoe
 Аватар для gore-lykovoe
31 / 31 / 1
Регистрация: 04.04.2010
Сообщений: 414
20.10.2011, 23:57     Есть ли в С++ массив с символьными индексами? #1
Типа как в паскале array['A'..'Z']of integer;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2011, 23:57     Есть ли в С++ массив с символьными индексами?
Посмотрите здесь:

C++ Не могу найти ошибку (массив с чётными индексами)
C++ Динамический массив с задаваемыми индексами
C++ Вначале заполнить массив элементами с четными индексами, а затем - с нечетными.
C++ Одномерный массив. Найти произведение элементов с четными индексами
Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) C++
C++ multi-hash -массив с несколькими индексами
C++ Статический массив, адресация указателями и индексами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S.L.I.M.
15 / 12 / 2
Регистрация: 03.02.2011
Сообщений: 96
21.10.2011, 00:12     Есть ли в С++ массив с символьными индексами? #2
нет, нету! индексами всегда являются цифры.

C++
1
int a[10][10];
Добавлено через 2 минуты
но сам массив может содержать симолы.

C++
1
2
3
4
char a[10];
a[1] = "a";
a[2] = "b";
a[3] = "c";
kreedz
 Аватар для kreedz
6 / 6 / 1
Регистрация: 29.11.2009
Сообщений: 100
21.10.2011, 00:13     Есть ли в С++ массив с символьными индексами? #3
http://ru.wikipedia.org/wiki/Ассоциативный_массив
Это?
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
21.10.2011, 00:26     Есть ли в С++ массив с символьными индексами? #4
C++
1
2
3
4
5
6
...
const char a='a';
    const char z='z';
    
    int mass[int(a)][int(z)];
...
Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
...
    const char a='a';
    const char z='z';
    
    int mass[a][z]={};
    
    for (int i=0; i<a; i++){
    for (int j=0; j<z; j++)
    cout << i << "|" << mass[i][j]+j << " ";
    cout << endl;
    }
...
У меня такой код работает)
char приводиться к int и пашет...
gore-lykovoe
 Аватар для gore-lykovoe
31 / 31 / 1
Регистрация: 04.04.2010
Сообщений: 414
21.10.2011, 00:31  [ТС]     Есть ли в С++ массив с символьными индексами? #5
это все не то, что мне надо, жаль, походу нету этого в С++

Добавлено через 1 минуту
Цитата Сообщение от KeyGen Посмотреть сообщение
C++
1
2
3
4
5
6
...
const char a='a';
    const char z='z';
    
    int mass[int(a)][int(z)];
...
Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
...
    const char a='a';
    const char z='z';
    
    int mass[a][z]={};
    
    for (int i=0; i<a; i++){
    for (int j=0; j<z; j++)
    cout << i << "|" << mass[i][j]+j << " ";
    cout << endl;
    }
...
У меня такой код работает)
char приводиться к int и пашет...
спс, попробую
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.10.2011, 00:40     Есть ли в С++ массив с символьными индексами? #6
еще вариант
C++
1
2
3
int arr[] = { 1, 2, 3, 4, 100500, 111 };
for (char i = 'a'; i < 'f'; ++i)
    std::cout << arr[i - 'a'];
gore-lykovoe
 Аватар для gore-lykovoe
31 / 31 / 1
Регистрация: 04.04.2010
Сообщений: 414
21.10.2011, 00:56  [ТС]     Есть ли в С++ массив с символьными индексами? #7
Цитата Сообщение от KeyGen Посмотреть сообщение
C++
1
2
3
4
5
6
...
const char a='a';
    const char z='z';
    
    int mass[int(a)][int(z)];
...
Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
...
    const char a='a';
    const char z='z';
    
    int mass[a][z]={};
    
    for (int i=0; i<a; i++){
    for (int j=0; j<z; j++)
    cout << i << "|" << mass[i][j]+j << " ";
    cout << endl;
    }
...
У меня такой код работает)
char приводиться к int и пашет...
ваш код выводит просто кучу цифр, + я не понимаю на ночь сейчас ваш код. Как например присвойть ячейке b значение 1? ТОесть например у меня в цикле встретилась буква b, как мне сделать, чтобы счетчик сразу увеличился в ячейке отвечающей за b?
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
21.10.2011, 01:08     Есть ли в С++ массив с символьными индексами? #8
Приводит к int a==97, а z==122. Программа буквы делает цифрами по простому....

Добавлено через 3 минуты
Цитата Сообщение от gore-lykovoe Посмотреть сообщение
Как например присвойть ячейке b значение 1?
b-97;

Добавлено через 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <cctype>
 
using namespace std;
 
 
int main ()
{
    setlocale(LC_ALL, "rus");
    
    int i;
    int one;
    
    for (;;){
    cout << "ANSI ГЎГіГЄГўГ* - öèôðГ*.\nÂâåäèòå Г*Г*Г·Г*ëî îòñ÷åòГ*: ";
    cin >> i;
    
    if (isdigit(i)){
    cout << "Ââîäèòå öèôðû!\n";
    continue;
    }
    
    cout << "Ãäå Г§Г*ГЄГ®Г*Г·ГЁГІГј: ";
    cin >> one;
    
    if (isdigit(one)){
    cout << "Ââîäèòå öèôðû!\n";
    continue;
    }
    
    
    cout << endl;
    while (i<=one){
          cout << i << " = " << char(i) << "; ";
          i++;
          cout << endl;
          if (i==10)
          {i=11; cout << "10 = ïåðåâîä ñòðîêè;\n";}
          if (i==13)
          {i=14; cout << "13 = âîçâðГ*ГІ Г*Г* îäГ*Гі ïîçèöèþ;\n";}
          if (i==7)
          {i=8; cout << "7 = çâóêîâîé Г±ГЁГЈГ*Г*Г«;\n";}
          
          }
          system("PAUSE");
          system("CLS");
          }
          
    cout << endl;
    system("PAUSE");
    return 0;
}
Что она делает: выводит значение цифра-буква и д.р(перевод строки, звуковой сигнал...)
gore-lykovoe
 Аватар для gore-lykovoe
31 / 31 / 1
Регистрация: 04.04.2010
Сообщений: 414
21.10.2011, 01:19  [ТС]     Есть ли в С++ массив с символьными индексами? #9
Цитата Сообщение от KeyGen Посмотреть сообщение
Приводит к int a==97, а z==122. Программа буквы делает цифрами по простому....

Добавлено через 3 минуты

b-97;
последний вопрос: как вывести теперь полученное значение? Зачем двумерный массив нам?

код Jupiter мне понятен. Я просто не могу его приспособить пока к моей проге.

Добавлено через 5 минут
Цитата Сообщение от KeyGen Посмотреть сообщение
Приводит к int a==97, а z==122. Программа буквы делает цифрами по простому....

Добавлено через 3 минуты

b-97;

Добавлено через 4 минуты
Держи прогу пригодиться наверно:

Что она делает: выводит значение цифра-буква и д.р(перевод строки, звуковой сигнал...)
у меня она выводит смайлики для каждой цифры(( видать кодировка другая(

Добавлено через 4 минуты
KeyGen, спасибо, но я уже приспособил код Jupiter, легко и понятно для меня)


Jupiter, спасибо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2011, 01:27     Есть ли в С++ массив с символьными индексами?
Еще ссылки по теме:

В двумерном массиве заменить элементы строк с четными индексами элементами строк с нечетными индексами C++
Вывести динамический массив вместе с индексами! C++
C++ Ассоциативный массив с несколькими индексами
C++ Сформировать массив, записав в него элементы с четными индексами двух массивов.
C++ Создать и заполнить третий массив, суммами чисел с одинаковыми индексами

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

Или воспользуйтесь поиском по форуму:
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
21.10.2011, 01:27     Есть ли в С++ массив с символьными индексами? #10
Цитата Сообщение от gore-lykovoe Посмотреть сообщение
у меня она выводит смайлики для каждой цифры(( видать кодировка другая(
По идеи любая кодировка должна работать так как буква в любом случае это цифра. Но точно не знаю.
Yandex
Объявления
21.10.2011, 01:27     Есть ли в С++ массив с символьными индексами?
Ответ Создать тему
Опции темы

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