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

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

Восстановить пароль Регистрация
 
incognito
 Аватар для incognito
148 / 141 / 1
Регистрация: 08.04.2010
Сообщений: 979
16.02.2011, 21:15     Программа обращения к каждому элементу массива #1
Дана матрица символов. Написать программу обращения к каждому элементу этой матрицы, если считать, что имена строк - буквы алфавита (по возрастанию), а имена столбцов - целые числа ( по возрастанию).
С числами более менее понятно, а вот с буквами нет. Я поначалу думал, что нужно будет оперировать кодами букв в таблице ASCII, но преподаватель сказал, что индексы букв можно получать разностью символов. Например, INDEX='B'-'A'. Дальше я не понимаю. Помогите, пожалуйста.

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

Двумерный массив. Обращение к каждому элементу. C++
C++ Получить новую матрицу путем прибавления к каждому элементу данной матрицы ее наибольшего элемента
Массив: Изменить матрицу, прибавляя к каждому отрицательному элементу значение предыдущего элемента той же строки. C++
C++ Задача Таблица. За одно обращение к каждому элементу массива необходимо каждый элемент заменить ближайшим большим следующим за ним
Крашится программа при попытке присваивания значения элементу дин-го массива C++
Дать каждому элементу массива "описание" C++
Применить формулу к каждому элементу матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Merlin666
 Аватар для Merlin666
96 / 96 / 10
Регистрация: 26.12.2010
Сообщений: 220
16.02.2011, 21:16     Программа обращения к каждому элементу массива #2
Уточнит немного бы хотелось..что именно надо сделать?
asics
Freelance
Эксперт C++
 Аватар для asics
2841 / 1778 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
16.02.2011, 21:19     Программа обращения к каждому элементу массива #3
Да, пример входных/выходных данных не помешал, бы.
incognito
 Аватар для incognito
148 / 141 / 1
Регистрация: 08.04.2010
Сообщений: 979
16.02.2011, 21:22  [ТС]     Программа обращения к каждому элементу массива #4
Как сделать, чтобы индексами строк были буквы(англ. заглавные), а столбцов - числа. И чтобы потом элементы матрицы можно было вызывать через букву и целое число?

Добавлено через 2 минуты
Входные - матрица(массив), а выходные - нужный элемент. Думаю так. Мне было дано только задание(((
asics
Freelance
Эксперт C++
 Аватар для asics
2841 / 1778 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
16.02.2011, 21:27     Программа обращения к каждому элементу массива #5
Цитата Сообщение от incognito Посмотреть сообщение
Входные - матрица(массив), а выходные - нужный элемент. Думаю так.
Цитата Сообщение от asics Посмотреть сообщение
Да, пример входных/выходных данных не помешал, бы.
.....
Merlin666
 Аватар для Merlin666
96 / 96 / 10
Регистрация: 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];
incognito
 Аватар для incognito
148 / 141 / 1
Регистрация: 08.04.2010
Сообщений: 979
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 из этой матрицы.
Jupiter
Каратель
Эксперт C++
6545 / 3965 / 226
Регистрация: 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;
}
incognito
 Аватар для incognito
148 / 141 / 1
Регистрация: 08.04.2010
Сообщений: 979
17.02.2011, 16:44  [ТС]     Программа обращения к каждому элементу массива #9
Но для такого обращения нужно знать коды таблицы. Вот 65 - это же код 'A'. А если, допустим, я не знаю их.
asics
Freelance
Эксперт C++
 Аватар для asics
2841 / 1778 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.02.2011, 16:50     Программа обращения к каждому элементу массива #10
Цитата Сообщение от incognito Посмотреть сообщение
А если, допустим, я не знаю их.
Посмторел сюда - узнал, делов то.
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 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. Разве надо знать коды, чтобы сделать такой вывод?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2011, 09:31     Программа обращения к каждому элементу массива
Еще ссылки по теме:

C++ Прибавить к каждому третьему элементу массива число
C++ Как задать каждому элементу массива значение по умолчанию?
C++ Используя массив присвоить каждому следующему элементу сумму текущего и предыдущего элементов
Прибавить к каждому элементу сумму чисел, которые являются его соседями через один C++
Добавить к каждому отрицательному элементу массива заданное число C++

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

Или воспользуйтесь поиском по форуму:
incognito
 Аватар для incognito
148 / 141 / 1
Регистрация: 08.04.2010
Сообщений: 979
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".
Ребят, помогите, пожалуйста, найти ошибку.
Yandex
Объявления
19.04.2011, 09:31     Программа обращения к каждому элементу массива
Ответ Создать тему
Опции темы

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