Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 06.03.2014
Сообщений: 28
1

Как создать двумерный динамический массив (принцип лото)?

08.04.2014, 12:53. Показов 1660. Ответов 11
Метки нет (Все метки)

Как создать двумерный динамический массив (принцип лото). "Таблица" состоит из 9 столбцов и 3 строк. Из них 15 заполнены цифрами от 1 до 90, а остальные 12 - пустые. Заполнение должно быть постолбцово. В каждом столбце должно быть или 1, или 2 числа!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2014, 12:53
Ответы с готовыми решениями:

Как создать двумерный динамический массив
Помогите, пожалуйста, в таком вопросе: нужно создать динамический двумерный массив. Да он еще...

Как создать динамический двумерный массив
Можно ли создать на С++ динамический двухмерный масив? Как? int z , x ; cin >> z ; cin >> x ;...

Как создать динамический двумерный массив
Динамический одномерный массив p можно сождать примерно так: int N, *p; cin >> N; p= new int ...

Как создать динамический двумерный массив с использованием функции malloc?
Я создаю динамический двумерный массив вот так: int **arr = (int**)malloc(m*sizeof(int*));...

11
7 / 7 / 2
Регистрация: 02.03.2013
Сообщений: 69
08.04.2014, 13:19 2
Если я все правильно понимаю, то динамический массив скорее всего тут не поможет. Надо использовать вектор.
Дело в том, что динамический массив - это массив, размер которого определяется переменной. А тебе в цикле надо добавлять значения в ячейки, изначально которых не было.
Т.е. либо перед циклом изменять значение переменной (не уверен, что это будет работать т.к. массив к тому времени уже сформирован. Но могу ошибаться) либо использовать вектор. У меня препод подобную задачу зарубил на семестровой и заставил делать вектор.
0
1 / 1 / 0
Регистрация: 06.03.2014
Сообщений: 28
08.04.2014, 13:26  [ТС] 3
Я еще не изучала векторы...

Добавлено через 1 минуту
карточки заполняются способом генерирования случайных чисел
0
7 / 7 / 2
Регистрация: 02.03.2013
Сообщений: 69
08.04.2014, 14:03 4
С ними ничего сложного нет. могу вечером дома поискать семестровую, где были векторы, но там очень много лишнего. В принципе, листинг я выкладывал на этом форуме. Поищи темы за моим авторством. Я в конце каждой своей темы выкладываю полный работоспособный листниг.

карточки заполняются способом генерирования случайных чисел
Это понятно. Я имел в виду, что дополнительных ячеек в массиве изначально не было. Т.к. память выделялась при его объявлении.
0
1 / 1 / 0
Регистрация: 06.03.2014
Сообщений: 28
08.04.2014, 14:10  [ТС] 5
Хорошо, спасибо, я пороюсь в твоих темках
0
Почетный модератор
Эксперт С++
5845 / 2855 / 390
Регистрация: 01.11.2011
Сообщений: 6,903
08.04.2014, 14:11 6
Пжалста.
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
43
44
45
46
//---------------------------------------------------------------------------
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
int main()
{
srand(time(NULL));
 
const int row = 3;
const int col = 9;
int loto[row][col] = {0};
 
 
int count = 15;
int x = 0, y = 0;
while( count-- )
  {
  while( true )
    {
    x = rand()%row,
    y = rand()%col;
    int countInCol = 0;
    for( int i=0; i<row; i++ )
      if( loto[i][y] )
        countInCol++;
 
    if( !loto[x][y] && countInCol<2 )
      break;
    }
  loto[x][y] = 1 + rand()%89;
  }
 
 
for( int i=0; i<row; i++ )
  {
  for( int j=0; j<col; j++ )
    cout << setw(3) << loto[i][j] << " ";
  cout << endl;
  }
 
cin.ignore();
return 0;
}
//---------------------------------------------------------------------------
1
1 / 1 / 0
Регистрация: 06.03.2014
Сообщений: 28
08.04.2014, 14:20  [ТС] 7
Нихрена себе, как быстро, , ща буду пробовать
0
7 / 7 / 2
Регистрация: 02.03.2013
Сообщений: 69
08.04.2014, 14:22 8
А что делает этот оператор?
Цитата Сообщение от SatanaXIII Посмотреть сообщение
setw(3)
0
Почетный модератор
Эксперт С++
5845 / 2855 / 390
Регистрация: 01.11.2011
Сообщений: 6,903
08.04.2014, 14:27 9
Цитата Сообщение от Korhall Посмотреть сообщение
А что делает этот оператор?
Форматирует вывод. Вот здесь можете почитать.
1
7 / 7 / 2
Регистрация: 02.03.2013
Сообщений: 69
11.04.2014, 11:27 10
Спасибо.
0
1 / 1 / 0
Регистрация: 06.03.2014
Сообщений: 28
30.04.2014, 10:46  [ТС] 11
Цитата Сообщение от SatanaXIII Посмотреть сообщение
while( count-- )
* {
* while( true )
можно ли это как-нибудь заменить на цикл for, если да то как?
0
Почетный модератор
Эксперт С++
5845 / 2855 / 390
Регистрация: 01.11.2011
Сообщений: 6,903
30.04.2014, 10:49 12
C++
1
2
for( int count = 15; count > 0; count-- )
  {
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2014, 10:49

Как создать двумерный динамический массив не зная его размеров?
Привет. Не смог найти в гугле как можно создать двумерный динамический массив не зная его длины...

Возможно ли создать двумерный динамический массив?
существует ли возможность создать двумерный динамический массив, к примеру 2х5 ?

Создать двумерный динамический массив и произвести сортировку
#include &lt;iostream&gt; using namespace std; template&lt;typename T&gt; inline int arrlen(T *str) {...

Создать динамический двумерный массив и заполнить его
Всем привет. Помогите пожалуйста реализовать код. ТЗ: Создать программу с динамическим двумерным...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru