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

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

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

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

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

Как создать двумерный динамический массив (принцип лото). "Таблица" состоит из 9 столбцов и 3 строк. Из них 15 заполнены цифрами от 1 до 90, а остальные 12 - пустые. Заполнение должно быть постолбцово. В каждом столбце должно быть или 1, или 2 числа!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2014, 12:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как создать двумерный динамический массив (принцип лото)? (C++):

Как создать динамический двумерный массив - C++
Можно ли создать на С++ динамический двухмерный масив? Как? int z , x ; cin >> z ; cin >> x ; int *arr = new int(z); int *arr1...

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

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

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

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

Создать шаблонный класс - двумерный динамический массив - C++
Задание:Создать шаблонный класс - двумерный динамический массив. Тип элементов массива определяется параметром шаблона. Предусмотреть...

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

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

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

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

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

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

Создать двумерный динамический массив, найти максимальный элемент и его индексы - C++
Здравствуйте! Пишу программу, которая создает двумерный динамический массив, находит максимальный элемент и его индексы. Максимальный...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.04.2014, 10:49
Ответ Создать тему
Опции темы

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