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

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

Войти
Регистрация
Восстановить пароль
 
Ilm1R
1 / 1 / 0
Регистрация: 25.10.2011
Сообщений: 16
#1

Вопрос по Массивам. - C++

25.10.2011, 19:04. Просмотров 334. Ответов 8
Метки нет (Все метки)

Всем Гуру и знатокам C++ Привет.
Я хочу изучать язык С++, но он мне очень трудно потдаётся).
Помогите пож-та:
Я не могу составить Двумерный массив размером(минимум) 4*4, при этом его нужно ввести с клавиатуры
а не задать самому, либо вывести рандомные значения.
Не понимаю как это делается.
Помогите. Если через указатели то объясните пожалуйста как?
Заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VenCarbon
32 / 31 / 3
Регистрация: 14.12.2010
Сообщений: 158
25.10.2011, 19:10     Вопрос по Массивам. #2
C++
1
2
3
4
int *a[4]; // объявляем массив указателей из 4 элементов
for (int i = 0; i < 4; i++) {
  a[i] = new int[4]; // от каждого указателя выделяем 4 куска памяти для элементов типа int
}
Ilm1R
1 / 1 / 0
Регистрация: 25.10.2011
Сообщений: 16
25.10.2011, 20:00  [ТС]     Вопрос по Массивам. #3
Люди, вот я вышеуказанное выполнил, выделилось в указателе память под тип инт, а как теперь сделать так чтоб значение массивов, можно было задавать самому допустим. примерно так: a[1]=1; a[2]=2; к примеру.
В каком месте нужно присваивать значения указателям.
Помогите понять пож-та.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,587
Записей в блоге: 12
25.10.2011, 20:09     Вопрос по Массивам. #4
Цитата Сообщение от Ilm1R Посмотреть сообщение
Я не могу составить Двумерный массив размером(минимум) 4*4, при этом его нужно ввести с клавиатуры
а не задать самому, либо вывести рандомные значения.
C++
1
2
3
4
int n,m;
cin >>n >>m;
int a[n][m] ;это не по стандарту 
int (*a)[m]=new int[n][m]; вот правильный вариант
Добавлено через 1 минуту
Цитата Сообщение от Ilm1R Посмотреть сообщение
Люди, вот я вышеуказанное выполнил, выделилось в указателе память под тип инт, а как теперь сделать так чтоб значение массивов, можно было задавать самому допустим. примерно так: a[1]=1; a[2]=2; к примеру.
В каком месте нужно присваивать значения указателям.
Помогите понять пож-та.
как в каком месте объявил его тоесть написал этот код а далее устанавливаешь значения

Добавлено через 41 секунду
Цитата Сообщение от Ilm1R Посмотреть сообщение
a[1]=1; a[2]=2;
что за a[1] у вас же двухмерный массив надо a[0][1]
Ilm1R
1 / 1 / 0
Регистрация: 25.10.2011
Сообщений: 16
25.10.2011, 20:30  [ТС]     Вопрос по Массивам. #5
Спасибо тебе за помощь)
Spotter
8 / 8 / 2
Регистрация: 09.11.2010
Сообщений: 130
25.10.2011, 21:38     Вопрос по Массивам. #6
Ilm1R, Вот так объявляется двумерный массив случайных чисел.

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
int **a = NULL;
        int n;
        int m;
 
        cout<<" Введите размер массива (n,m) :\n>";   
        cin >> n >> m;
        a = new int *[n];
        for(int i=0;i<n;i++)
        {
                a[i] = new int[m];
        }
        for(int i=0;i<n;i++)
        {
                for(int j=0;j<m;j++)
                {
                        a[i][j] = rand()%10;
                }               
        }
        for(int i=0;i<n;i++)
        {
                for(int j=0;j<m;j++)
                {
                        cout<<a[i][j]<<" "<<"\t";
                }
                cout<<"\n\n";
        }
Ilm1R
1 / 1 / 0
Регистрация: 25.10.2011
Сообщений: 16
25.10.2011, 21:40  [ТС]     Вопрос по Массивам. #7
Люди кто чем может помоч: как правильно записать мои мысли.))
Мне нужно вывести "Двумерный массив", сеткой начинаю от 4*4 размером. А проблема в том, что сетку массива нужно задать с клавы, таким образом чтоб всё работало.
Помогите чайнику..), мне язык интересен, но если я правил построения плохо знаю я не могу связать всё во едино.
Вот что у меня получилось:
Если правильно, а от части где то не так ошибся, дайте совет пож-та, как правильно мою логику сформулировать):
_______________________________________________
{int n,m;
cin>>n>>m;
for(n=4,m=4;n>=4,m>=4;
)
{
[n][m]=new int[n][m];
}
Эта версия у меня не работает не знаю как завершить её правильно. Жду помощи.
Spotter
8 / 8 / 2
Регистрация: 09.11.2010
Сообщений: 130
25.10.2011, 23:28     Вопрос по Массивам. #8
Ilm1R, Смотри внимательно мой фрагмент кода, как объявлять двумерный массив.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2011, 23:33     Вопрос по Массивам.
Еще ссылки по теме:

C++ Вопрос по символьным массивам
Подскажите по массивам C++
Учебник по массивам C++
C++ по массивам
C++ Задачи по массивам

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

Или воспользуйтесь поиском по форуму:
Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
25.10.2011, 23:33     Вопрос по Массивам. #9
Цитата Сообщение от Ilm1R Посмотреть сообщение
А проблема в том, что сетку массива нужно задать с клавы,
C++
1
2
3
4
.....
cout<<" Введите размер массива (n,m) :\n>";   
        [B]cin [/B]>> n >> m;
.....
Это разве не оно? Если вам нужно вводить сетку 4*4, то в чём проблема? вводите.
Yandex
Объявления
25.10.2011, 23:33     Вопрос по Массивам.
Ответ Создать тему
Опции темы

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