Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
incognito
149 / 142 / 1
Регистрация: 08.04.2010
Сообщений: 984
1

Программа обращения к каждому элементу массива

16.02.2011, 21:15. Просмотров 1173. Ответов 11
Метки нет (Все метки)

Дана матрица символов. Написать программу обращения к каждому элементу этой матрицы, если считать, что имена строк - буквы алфавита (по возрастанию), а имена столбцов - целые числа ( по возрастанию).
С числами более менее понятно, а вот с буквами нет. Я поначалу думал, что нужно будет оперировать кодами букв в таблице ASCII, но преподаватель сказал, что индексы букв можно получать разностью символов. Например, INDEX='B'-'A'. Дальше я не понимаю. Помогите, пожалуйста.

Добавлено через 45 минут
ПРОШУ. ПОМОГИТЕ !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2011, 21:15
Ответы с готовыми решениями:

Ошибка обращения к элементу массива
void sort(int *mas, int len) { int max = mas; int min = mas; for (int i...

Прибавить к каждому третьему элементу массива число
После заполнения массива прибавить к каждому третьему элементу число, которое...

Добавить к каждому отрицательному элементу массива заданное число
Подскажите как это сделать

Как задать каждому элементу массива значение по умолчанию?
Например я знаю что void max(int t=9){//значение по умолчанию переменой t++;...

Задача Таблица. За одно обращение к каждому элементу массива необходимо каждый элемент заменить ближайшим большим следующим за ним
Не могу решить задачу( В массиве А размера n за одно обращение к каждому...

11
Merlin666
98 / 98 / 29
Регистрация: 26.12.2010
Сообщений: 220
16.02.2011, 21:16 2
Уточнит немного бы хотелось..что именно надо сделать?
0
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
16.02.2011, 21:19 3
Да, пример входных/выходных данных не помешал, бы.
0
incognito
149 / 142 / 1
Регистрация: 08.04.2010
Сообщений: 984
16.02.2011, 21:22  [ТС] 4
Как сделать, чтобы индексами строк были буквы(англ. заглавные), а столбцов - числа. И чтобы потом элементы матрицы можно было вызывать через букву и целое число?

Добавлено через 2 минуты
Входные - матрица(массив), а выходные - нужный элемент. Думаю так. Мне было дано только задание(((
0
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
16.02.2011, 21:27 5
Цитата Сообщение от incognito Посмотреть сообщение
Входные - матрица(массив), а выходные - нужный элемент. Думаю так.
Цитата Сообщение от asics Посмотреть сообщение
Да, пример входных/выходных данных не помешал, бы.
.....
0
Merlin666
98 / 98 / 29
Регистрация: 26.12.2010
Сообщений: 220
16.02.2011, 21:28 6
Ну вы обращайтесь например так к массиву:
C++
1
2
3
4
5
 int mas[2][2];
 // тут его определяем
 char ch='A';
 // получаем элемент массива [0][0]
 int x = mas[ch-65][0];
1
incognito
149 / 142 / 1
Регистрация: 08.04.2010
Сообщений: 984
16.02.2011, 22:01  [ТС] 7
Цитата Сообщение от asics Посмотреть сообщение
.....
Не обессутьте, но акромя задания нема)))сам в догадках))
Думаю может это будет даже часть программы по вызову. Честно, не знаю.

Добавлено через 28 минут
Дано, например:
A V E T
S H X E
S F R W
G J Q E
...............
0|1 2 3 4
A|A V E T
B|S H X E
C|S F R W
D|G J Q E
Нужно, чтобы, например, по номеру C3 выдало R из этой матрицы.
0
Jupiter
Каратель
Эксперт С++
6569 / 3990 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.02.2011, 22:09 8
пффф вам же Merlin666 уже все написал

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int main()
{
    char matr[3][3] = { { 'V', 'E', 'T' },
                        { 'H', 'X', 'E' },
                { 'F', 'R', 'W' } };
    std::cout << "Enter elem pos -> ";
    char row;
    size_t col;
    std::cin >> row >> col;
    std::cout << "Element with pos " << row << col 
          << " = " << matr[toupper(row) - 'A'][col-1];
    std::cin.get();
    return 0;
}
1
incognito
149 / 142 / 1
Регистрация: 08.04.2010
Сообщений: 984
17.02.2011, 16:44  [ТС] 9
Но для такого обращения нужно знать коды таблицы. Вот 65 - это же код 'A'. А если, допустим, я не знаю их.
0
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
17.02.2011, 16:50 10
Цитата Сообщение от incognito Посмотреть сообщение
А если, допустим, я не знаю их.
Посмторел сюда - узнал, делов то.
0
fasked
Эксперт С++
4982 / 2561 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
17.02.2011, 17:04 11
incognito, не надо знать коды таблицы, достаточно знать что символы располагаются последовательно a, b, c ... z и A, B, C ... Z. Таким образом 'a' - 'a' = 0, 'b' - 'a' = 1, 'c' - 'a' = 2. Разве надо знать коды, чтобы сделать такой вывод?
1
incognito
149 / 142 / 1
Регистрация: 08.04.2010
Сообщений: 984
19.04.2011, 09:31  [ТС] 12
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
#include "stdafx.h"
 
 
 
int main ()
{
    char Arr [22][20]={{'d','g','a','F','f','e'},{'s','f','f','s','G','g','q','x'}};
int Success = 1;
char I,J,size;
int i=22, j=20, base=0;
printf ("Enter I&J \n");
scanf ("%c %c",&I, &J);
 
if ((I-'a'>=0)&& (I-'a'<i))
base=1;
else
if ((I-'A'>=0)&& (I-'A'<i))
base=2;
else
    Success = 0;
 
 
 
if (Success == 1) 
{
    if (!((J-'0'>=0)&&(J-'0'<j)))
        Success = 0;
}
if (base==1)
size=Arr[I-'a'][J-'1'];
else
if (base==2)
size=Arr[I-'A'][J-'1'];
 
 
 
if ((Success == 1)&&(size>='0')){
printf ("%c",size);
}else
    printf ("ERRoR");
 
return(0);}
Не работает. Если, например, задать "а 100", то выдает букву, хотя должен "ERROR".
Ребят, помогите, пожалуйста, найти ошибку.
0
19.04.2011, 09:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2011, 09:31

Дать каждому элементу массива "описание"
Как дать каждому элементу массива &quot;описание&quot; ? Например, такой массив: 4...

Двумерный массив. Обращение к каждому элементу.
Пожалуйста помогите написать данную программу: Дана матрица символов. ...

Применить формулу к каждому элементу матрицы
Даны 3 целых числа,получить b матрицу элементы которого равны b=a(i)-3*a(j);...


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

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

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