Юрий |
Отправлено: 25.10.2006, 15:06 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 12
|
Пожалуйста, помогите создать в Builder C++ ent двумерный массив вида:
123
456
789
Учиться, учиться и учиться..
Отредактировано Юрий — 25.10.2006, 16:52 |
|
olegenty |
Отправлено: 25.10.2006, 15:56 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
пожалуйста:
vector < vector < int>> Array2D;
|
|
Юрий |
Отправлено: 25.10.2006, 16:34 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 12
|
Пожалуйста покажите пример с использованием:
vector < vector < int>> Array2D; |
|
Doga |
Отправлено: 25.10.2006, 16:47 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
см. $(BCB)\Examples\StdLib\*.*
|
|
beginner |
Отправлено: 25.10.2006, 16:49 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 44
|
Можно еще
CODE | int ar[3][3] = {1,2,3,
4,5,6,
7,8,9}; | |
|
Doga |
Отправлено: 25.10.2006, 17:08 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Если нужен динамический массив, то можно ещё так:
CODE |
int (*IntArray)[3][3];
IntArray = new int[3][3];
//...
delete [] IntArray;
|
|
|
Юрий |
Отправлено: 25.10.2006, 17:11 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 12
|
Отображает целое число, а то что нужно не хочет ... Что необходимо сделать для того чтобы именно получился вид:
123
456
789
CODE |
#include <iostream.h>
#include <conio.h>
#include <vcl.h>
#pragma hdrstop
#pragma argsused
int main(int argc, char* argv[])
{
int ar[3][3] = {1,2,3,
4,5,6,
7,8,9};
cout<<ar[3][3];
getch();
return 0;
}
| |
|
Doga |
Отправлено: 25.10.2006, 17:14 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Вы уже обьясните, в конце концов, что вам нужно:
какой вид, что отображает....
|
|
Юрий |
Отправлено: 25.10.2006, 17:19 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 12
|
Отображает 9452096 либо первый элемент в массиве 1, а мне нужна матрица:
1 2 3
4 5 6
7 8 9
Отредактировано Юрий — 25.10.2006, 18:26 |
|
Doga |
Отправлено: 25.10.2006, 17:54 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Что то вроде этого:
CODE |
int main(void)
{
int ar[3][3] =
{
{1,2,3},
{4,5,6},
{7,8,9}
};
cout << ar[0][0] << ar[0][1] << ar[0][2];
cout << ar[1][0] << ar[1][1] << ar[1][2];
cout << ar[2][0] << ar[2][1] << ar[2][2];
getch();
return 0;
}
|
|
|
Юрий |
Отправлено: 25.10.2006, 18:10 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 12
|
Это то что надо, только у меня вновь вопрос...
Я могу создать свою матрицу используя функцию cout и cin один раз..
Для того чтобы в дальнейшем вводимые мною значения элементов массива я мог отсортировать....
Ведь вопрос в том хорошо если элементов в массиве 9, а если их 100 и их нужно отсортировать...??
1......10
11....20
............
91....100
Отредактировано Юрий — 25.10.2006, 19:20 |
|
Doga |
Отправлено: 25.10.2006, 18:19 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Да, безусловно! Можете даже 2 или 3 раза, или вообще сколько захотите
|
|
Юрий |
Отправлено: 25.10.2006, 18:24 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 12
|
Вот потому и спрашиваю, как мне добиться этого результата с наименьшим использованием функции cout...?? |
|
gvg |
Отправлено: 25.10.2006, 19:36 |
|
Машинист паровоза
Группа: Участник
Сообщений: 222
|
cout только отображает то, что хотите видеть. QUOTE | Я могу создать свою матрицу используя функцию cout и cin один раз | использованием указанных функций ничего не создадите. |
|
beginner |
Отправлено: 25.10.2006, 20:16 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 44
|
QUOTE (Юрий @ 25.10.2006, 18:19) | Отображает 9452096 либо первый элемент в массиве 1, а мне нужна матрица:
1 2 3
4 5 6
7 8 9 |
CODE | int ar[3][3] =
{
{1,2,3},
{4,5,6},
{7,8,9}
};
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
cout << " " << ar[i][j];
cout << endl;
} |
Если массив имеет размерность 3х3, тогда макс. индекс
ar[2][2], так как индексация начинается с нуля. |
|
Doga |
Отправлено: 26.10.2006, 16:11 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Не, я так понимаю Юрию необходимо в процессе работы менять размер и содержимое матрицы.
Непонятно зачем для этого использовать консольное приложение
|
|
Юрий |
Отправлено: 27.10.2006, 17:19 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 12
|
Спасибо, Это то что надо.....
-------------------------------------------
#include
#include
#include
#pragma hdrstop
#pragma argsused
int main(int argc, char* argv[])
{
int ar[3][3];
for(int i=0; i<3; i++)
{
for(int j=0; j<9; j++)
cin>>ar[i][j];
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
cout << " " << ar[i][j];
cout << endl;
}
}
getch();
return 0;
}
//---------------------------------------------------------------------------
Учиться,учиться и учиться
Отредактировано Юрий — 27.10.2006, 18:22 |
|