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

Вывести массивы с разными строками - C++

Восстановить пароль Регистрация
 
bogdan_017
 Аватар для bogdan_017
21 / 21 / 11
Регистрация: 18.03.2014
Сообщений: 147
19.03.2014, 00:14     Вывести массивы с разными строками #1
нужно заполнить двумерный массив размером 5 на 5, появилась проблема с рандомным заполнением, подпрограмма "Data" выводит массивы со всеми одинаковыми строками, а нужно с разными, я уже и так пробовал и так, и все без толку. Привожу свой код, если кто то видит ошибку или может помочь, буду очень благодарен

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
  #include <iostream.h>
  #include <conio.h>
  #include <stdlib.h>
  void Data (int mas[5,5]);
  void Print (int mas[5,5]);
  void main (void)
  {
   int mas[5,5];
   Data(mas);
   Print(mas);
   getch();
  }
  void Data (int mas[5,5])   //заполнить массив
  {
   int m=rand();
   randomize();
   for (int i=0; i<=4; i++)
   {
    for (int j=0; j<=4; j++)
     mas[i,j]=random(m)%20-10;
   }
  }
void Print (int mas[5,5])        //напечатать массив
 {
  cout<<"\n";
  for (int i=0; i<=4; i++)
   {
    for (int j=0; j<=4; j++)
     cout<<mas[i,j]<<" ";
     cout<<"\n";
   }
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2014, 00:14     Вывести массивы с разными строками
Посмотрите здесь:

Одномерные массивы, Работа со строками, Многомерные массивы. C++
C++ Одномерные массивы в языке ANSI C. Работа со строками
C++ Работа со строками (Создать текстовый файл, вывести содержимое на экран, определить длину каждого предложения)
Одномерные массивы в языке ANSI C. Работа со строками C++
C++ Работа со строками. Определить количество пробелов в строке и вывести на экран
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yamko
11 / 11 / 2
Регистрация: 10.03.2013
Сообщений: 104
19.03.2014, 00:20     Вывести массивы с разными строками #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
bogdan_017, используйте функцию srand() и библиотеку ctime.
C++
1
2
srand(time(0));
rand()%x;
kupnu4
26 / 26 / 9
Регистрация: 03.05.2013
Сообщений: 71
19.03.2014, 00:23     Вывести массивы с разными строками #3
впервые вижу random. что это? присваивайте массиву непосредственно rand()%20-10. для пущей рандомности подключите библиотеку time.h ивызовите srand(time(0)) до вызова rand(). а оно вообще компилируется? не разу не встречал в C++ обращение к элементу массива через [i,j].
bogdan_017
 Аватар для bogdan_017
21 / 21 / 11
Регистрация: 18.03.2014
Сообщений: 147
19.03.2014, 00:36  [ТС]     Вывести массивы с разными строками #4
Цитата Сообщение от kupnu4 Посмотреть сообщение
впервые вижу random. что это? присваивайте массиву непосредственно rand()%20-10. для пущей рандомности подключите библиотеку time.h ивызовите srand(time(0)) до вызова rand(). а оно вообще компилируется? не разу не встречал в C++ обращение к элементу массива через [i,j].
kupnu4, оно компилируется без проблем, использую DOSbox 0.74.
random насколько я знаю это генератор псевдо-случайных чисел.
а что вы имели ввиду
Цитата Сообщение от kupnu4 Посмотреть сообщение
присваивайте массиву непосредственно rand()%20-10
мы же присваиваем элементам массива какое то определенное значение, или я заблуждаюсь?
kupnu4
26 / 26 / 9
Регистрация: 03.05.2013
Сообщений: 71
19.03.2014, 00:46     Вывести массивы с разными строками #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
#include <time.h>
 
void main (void)
{
    int n = 5;
    srand(time(0));
    int a [5][5];
    for(int i=0;i<n;++i)
    for(int j=0;j<n;++j)
        a[i][j] = rand()%20-10;
      
    for(int i=0;i<n;++i)
    {
        for(int j=0;j<n;++j)
            std::cout << a[i][j] << "\t";
        std::cout << "\n";
    }
    getchar();
}
у меня прекрасно работает. генерирует массив 5х5 и заполняет его рандомами [-10,9]
bogdan_017
 Аватар для bogdan_017
21 / 21 / 11
Регистрация: 18.03.2014
Сообщений: 147
19.03.2014, 01:08  [ТС]     Вывести массивы с разными строками #6
kupnu4, спасибо, все работает
Yandex
Объявления
19.03.2014, 01:08     Вывести массивы с разными строками
Ответ Создать тему
Опции темы

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