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

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

Восстановить пароль Регистрация
 
Skoba
 Аватар для Skoba
1 / 1 / 0
Регистрация: 06.03.2014
Сообщений: 28
08.04.2014, 12:53     Как создать двумерный динамический массив (принцип лото)? #1
Как создать двумерный динамический массив (принцип лото). "Таблица" состоит из 9 столбцов и 3 строк. Из них 15 заполнены цифрами от 1 до 90, а остальные 12 - пустые. Заполнение должно быть постолбцово. В каждом столбце должно быть или 1, или 2 числа!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Korhall
 Аватар для Korhall
7 / 7 / 1
Регистрация: 02.03.2013
Сообщений: 69
08.04.2014, 13:19     Как создать двумерный динамический массив (принцип лото)? #2
Если я все правильно понимаю, то динамический массив скорее всего тут не поможет. Надо использовать вектор.
Дело в том, что динамический массив - это массив, размер которого определяется переменной. А тебе в цикле надо добавлять значения в ячейки, изначально которых не было.
Т.е. либо перед циклом изменять значение переменной (не уверен, что это будет работать т.к. массив к тому времени уже сформирован. Но могу ошибаться) либо использовать вектор. У меня препод подобную задачу зарубил на семестровой и заставил делать вектор.
Skoba
 Аватар для Skoba
1 / 1 / 0
Регистрация: 06.03.2014
Сообщений: 28
08.04.2014, 13:26  [ТС]     Как создать двумерный динамический массив (принцип лото)? #3
Я еще не изучала векторы...

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

карточки заполняются способом генерирования случайных чисел
Это понятно. Я имел в виду, что дополнительных ячеек в массиве изначально не было. Т.к. память выделялась при его объявлении.
Skoba
 Аватар для Skoba
1 / 1 / 0
Регистрация: 06.03.2014
Сообщений: 28
08.04.2014, 14:10  [ТС]     Как создать двумерный динамический массив (принцип лото)? #5
Хорошо, спасибо, я пороюсь в твоих темках
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
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;
}
//---------------------------------------------------------------------------
Skoba
 Аватар для Skoba
1 / 1 / 0
Регистрация: 06.03.2014
Сообщений: 28
08.04.2014, 14:20  [ТС]     Как создать двумерный динамический массив (принцип лото)? #7
Нихрена себе, как быстро, , ща буду пробовать
Korhall
 Аватар для Korhall
7 / 7 / 1
Регистрация: 02.03.2013
Сообщений: 69
08.04.2014, 14:22     Как создать двумерный динамический массив (принцип лото)? #8
А что делает этот оператор?
Цитата Сообщение от SatanaXIII Посмотреть сообщение
setw(3)
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
08.04.2014, 14:27     Как создать двумерный динамический массив (принцип лото)? #9
Цитата Сообщение от Korhall Посмотреть сообщение
А что делает этот оператор?
Форматирует вывод. Вот здесь можете почитать.
Korhall
 Аватар для Korhall
7 / 7 / 1
Регистрация: 02.03.2013
Сообщений: 69
11.04.2014, 11:27     Как создать двумерный динамический массив (принцип лото)? #10
Спасибо.
Skoba
 Аватар для Skoba
1 / 1 / 0
Регистрация: 06.03.2014
Сообщений: 28
30.04.2014, 10:46  [ТС]     Как создать двумерный динамический массив (принцип лото)? #11
Цитата Сообщение от SatanaXIII Посмотреть сообщение
while( count-- )
* {
* while( true )
можно ли это как-нибудь заменить на цикл for, если да то как?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2014, 10:49     Как создать двумерный динамический массив (принцип лото)?
Еще ссылки по теме:

C++ Создать шаблонный класс - двумерный динамический массив
Как передать в функцию двумерный динамический массив? C++
Как создать динамический массив типа string? Как создать класс такого массива? C++

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

Или воспользуйтесь поиском по форуму:
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
30.04.2014, 10:49     Как создать двумерный динамический массив (принцип лото)? #12
C++
1
2
for( int count = 15; count > 0; count-- )
  {
Yandex
Объявления
30.04.2014, 10:49     Как создать двумерный динамический массив (принцип лото)?
Ответ Создать тему
Опции темы

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