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

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

Войти
Регистрация
Восстановить пароль
 
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 367
Записей в блоге: 1
#1

Создать двумерный массив, который будет представлять декартову плоскость - C++

29.03.2013, 03:24. Просмотров 385. Ответов 6
Метки нет (Все метки)

нужно создать двумерный массив, который будет представлять декартову плоскость

то есть чтобы координаты можно было задавать отрицательными, к примеру

C++
1
cin>>array[-1][-10];
не могу понять, как реализовать?
спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2013, 03:24     Создать двумерный массив, который будет представлять декартову плоскость
Посмотрите здесь:

Создать двумерный массив 10 на 20, который будет сортировать четные числа по возростанию и нечетные по убывани - C++
Создать двумерный массив 10 на 20, который будет сортировать четные числа по возростанию и нечетные по убыванию. ребят если хто нить...

Создать класс, который представляет собой двумерный массив размером n x m - C++
1. Создать класс, в котором объектом является двумерный массив размером n x m я уже все перепробывала не получаеться вот мой код ...

Создать третий массив, который будет состоять из чередующихся элементов первого и второго массивов - C++
Дано два массива mas1 и mas2. Создать третий массив, который будет состоять из элементов первого и второго массивов, чередующихся между...

Создать приложение в котором в левой чисти экрана будет куб который будет вращаться с помощью "перетаскивания мыши" - C++
Дали задание, не знаю как делать, подскажите пожалуйста. Вот текст задания: Создать приложение в котором в левой чисти экрана будет...

.Создать класс Binary1, который будет содержать число в двоичной системе - C++
1.Поле first – целое число, целая часть числа, записанного в восьмеричной системе счисления; поле second – положительное целое число,...

Создать упорядоченный по убыванию список, который будет содержать числа, являющиеся простыми - C++
С клавиатуры вводится несколько целых чисел. Создать упорядоченный по убыванию список, который будет содержать числа, являющиеся простыми....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SDev
43 / 41 / 10
Регистрация: 15.03.2013
Сообщений: 88
29.03.2013, 04:42     Создать двумерный массив, который будет представлять декартову плоскость #2
по-моему есть два варианта:
1-простой без оператора []
использовать такую функцию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
const int left=-10;
const int top=10;
const int right=10;
const int bottom=-10;
int matr[21][21];// 10+10+1
 
int item(int i,int j)
{
int ii,jj;
ii=i-bottom;
jj=j-left;
return matr[ii][jj];
}
2-й вариант с оператором []
Нужно писать два класса с перегрузкой операторов
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
class Vector
{
  int vec[21];
public:
int& operator[](int i)
{//Здесь логика преобразования индекса i в ii как в 1-м варианте
  return vec[ii];
 };
};
 
 
class Matr
{
   Vector matr[21];
public:
Vector& operator[](int i)
{
 //Здесь логика преобразования индекса i в ii как в 1-м варианте
return mart[ii];
};
};
 
main()
{
Matr array;
cin>> array[-1][-10];
}
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 367
Записей в блоге: 1
29.03.2013, 14:14  [ТС]     Создать двумерный массив, который будет представлять декартову плоскость #3
насколько я понял мы все равно работает с положительными числами, только весь наш массив несколько смещается .

само задания звучит так:
создать динамический двумерный массив целых чисел з произвольным (включая и отрицательные) размером.

возможно будут еще какие-то варианты? спасибо.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
29.03.2013, 14:45     Создать двумерный массив, который будет представлять декартову плоскость #4
Цитата Сообщение от slipp1 Посмотреть сообщение
создать динамический двумерный массив целых чисел з произвольным (включая и отрицательные) размером.
отрицательный размер это сильно
Индексация массивов в С++ идет с нуля. Это аксиома. Если хотите имитировать отрицательные индексы - создаете свой тип и перегружаете для него operator[]. Другого решения нет. Хотите отрицательные индексы в базовом типе массивов - используйте паскаль.
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 367
Записей в блоге: 1
29.03.2013, 16:26  [ТС]     Создать двумерный массив, который будет представлять декартову плоскость #5
Цитата Сообщение от slipp1 Посмотреть сообщение
насколько я понял мы все равно работает с положительными числами, только весь наш массив несколько смещается
я сделал правильные выводы?
SDev
43 / 41 / 10
Регистрация: 15.03.2013
Сообщений: 88
29.03.2013, 16:45     Создать двумерный массив, который будет представлять декартову плоскость #6
в правильном направлении :-)
пишите свою реализацию, присылайте с вопросами.
вместе доделаем
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2013, 23:34     Создать двумерный массив, который будет представлять декартову плоскость
Еще ссылки по теме:

Из элементов создать новый, который будет содержать товары, изготовленные фирмой Sony - C++
плиз, кто может решить? сам я их сделал, поидее должны работать, но выдает ошибку. смотрел-смотрел, но ошибку не нашел:) щас не дома, сам...

Создать класс Ship, который будет содержать данные об учетном номере корабля и его координатах - C++
Создать класс Ship, который будет содержать данные об учетном номере корабля и его координатах. Для хранения координат используйте три...

Создать класс с именем ship, который будет содержать данные об учетном номере корабля и его координатах - C++
Создайте класс с именем ship, который будет содержать данные об учетном номере корабля и координатах его расположения. Для задания номера...

Полиморфизм. Как в предке объявить статический массив, который можно будет использовать в наследниках? - C++
Всем привет. Мне необходимо в классе предке объявить статический массив который можно будет использовать в наследниках. Не очень хочется...


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

Или воспользуйтесь поиском по форуму:
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 367
Записей в блоге: 1
09.04.2013, 23:34  [ТС]     Создать двумерный массив, который будет представлять декартову плоскость #7
up!
Yandex
Объявления
09.04.2013, 23:34     Создать двумерный массив, который будет представлять декартову плоскость
Ответ Создать тему
Опции темы

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