1

Тема: Random

Доброї ночі) Допоможіть, будь ласка, задати матрицю 10х10 рандомно.

2

Re: Random

Ох, як це знайомо! Завтра здавати напевно))

Таке має гуглитись за дві хвилини)) Буде готовий код.

А якщо цікаво повністю, то:

Два вкладених цикли: В першому перебириєте стовпці (від 0 до 9), в другому - рядки (від 0 до 9). В тілі другого циклу: рандомно отримуєте якусь цифру і присвоюєте в комірку з певним стовпцем і рядком

3

Re: Random

Перше посилання в гуглі...

#include <iostream>
#include <ctime> // в ній функція time
 
using namespace std;
 
int main ()
{
    srand (time (NULL)); // ініціалізувавши генератор випадкових чисел.
    int n = 0;
    cin >> n; // Прочитуємо з клавіатури n
    int ** a = new int * [n]; // Створюємо масив покажчиків
    for (int i = 0; i <n; i ++)
    {
        a [i] = new int [n]; // Створюємо елементи
    }
    // А далі робота як зі звичайним масивом.
    for (int i = 0; i <n; i ++)
    {
        for (int j = 0; j <n; j ++)
        {
            a [i] [j] = rand ()% 10; // Кожен елемент випадковому числу від 0 до 9
            cout << a [i] [j] << ""; // Вивести елементи на консольку
        }
        cout << endl; // Двовимірний масив. Рядок скінчилася, переводимо рядок і на консолі
    }
    // Видалення масиву
    for (int i = 0; i <n; i ++)
    {
        delete [] a [i]; // Видаляємо кожен елемент
    }
    delete [] a; // А потім масив
    return 0;
}
Подякували: bee1

4

Re: Random

Я розумію, що є готовий код, я теж гуглила. Але хотілося б самій розібратись у цьому, що поки що не виходить. Просто не дуже хочеться катати готовий код, не розуміючи, як він працює))

5

Re: Random

ну я там поверхнево розписав, якщо ще не зрозуміло, звертайтесь якось

6 Востаннє редагувалося Betterthanyou (25.09.2017 23:27:27)

Re: Random

bee написав:

Я розумію, що є готовий код, я теж гуглила. Але хотілося б самій розібратись у цьому, що поки що не виходить. Просто не дуже хочеться катати готовий код, не розуміючи, як він працює))

Що конкретно не розумієте ? Код же ж прокоментований. (Якщо все не розумієте, тоді краще почніть вивчення з книг про С++)

Подякували: koala1

7

Re: Random

for (int i = 0; i <n; i ++)
    {
        a [i] = new int [n]; // Створюємо елементи
    }

Я не розумію цю частину. Ми ж створюємо далі двовимірний масив, то чому тут одновимірний? Чи я щось просто неправильно розумію?

8

Re: Random

Двовимірний масив це масив вказівників на одновимірні масиви, а тривимірний це масив вказівників на масиви вказівників на одновимірні масиви.

Подякували: leofun011

9

Re: Random

0xDADA11C7, не плутайте людину. В C++ немає двовимірних масивів, але є купа різних конструкцій, здатних їх замінити. Беремо будь-який тип, який можна індексувати (масив, вказівник на масив, вектор чи якусь екзотику) і замість елементів підставляємо, знову ж таки, будь-який тип, який можна індексувати: масив масивів, масив вказівників на масиви, масив векторів, вектор масивів, вектор векторів і т.д. і т.д.
Зокрема, тут є вказівник a на масив (в C/C++ не розрізняються вказівники на масив і на елемент) вказівників на масиви.

Подякували: 0xDADA11C7, Betterthanyou, bee, leofun014

10

Re: Random

bee написав:
for (int i = 0; i <n; i ++)
    {
        a [i] = new int [n]; // Створюємо елементи
    }

Я не розумію цю частину. Ми ж створюємо далі двовимірний масив, то чому тут одновимірний? Чи я щось просто неправильно розумію?

Я хочу тільки додати що є ще статичні масиви, оскільки ви хотіли створити 10х10 матрицю, то набагато легше створити масив статично

ім'я[розмір][розмір];

Кількість пар квадратних дужок ( [] ) є розмірністю масиву, а значення що знаходиться в середині масиву це розмір масиву
Тобто ви можете просто написати

int a[row][column];

для створення матриці

Ось приклад з статичним масивом

#include <iostream>
#include <ctime> // в ній функція time
#define column 10
#define row 10
using namespace std;
int main()
{
    srand(time(NULL)); // ініціалізувавши генератор випадкових чисел.
    int a[row][column];
    // А далі робота як зі звичайним масивом.
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < column; j++)
        {
            a[i][j] = rand() % 10; // Кожен елемент випадковому числу від 0 до 9
            cout << a[i][j] << " "; // Вивести елементи на консольку
        }
        cout << endl; // Двовимірний масив. Рядок скінчилася, переводимо рядок і на консолі
    }
    return 0;
}

https://uk.wikipedia.org/wiki/%D0%9C%D0 … %B8%D1%85)

Подякували: LoganRoss, bee, leofun013

11

Re: Random

Betterthanyou, вам настільки кореянки подобаються? Лі Сун Кюн схвалює :)

Подякували: Q-bart, leofun012

12

Re: Random

koala написав:

Betterthanyou, вам настільки кореянки подобаються? Лі Сун Кюн схвалює :)

Що не кажіть, а китаянки/кореянки переважно досить милі. От тільки голос в них як у підлітків, в яких ще не відбулася мутація. Кажуть, це там модно так.

13

Re: Random

koala написав:

Betterthanyou, вам настільки кореянки подобаються? Лі Сун Кюн схвалює :)

Чесно кажучи, нічого не зрозумів...
Хто така Лі Сун Кюн (негуглиться) ? Якщо це "фейкове" фото що на аватарці в bee, то я це знав ще з самого початку. І я навіть знаю ще це скорій всього хлопець. А якщо говорити про мої особисті вподобання, я нейтрально відношусь до азіатів.

14

Re: Random

Англійською Lee Sung-kyung

Подякували: Betterthanyou1

15 Востаннє редагувалося bee (27.09.2017 19:01:46)

Re: Random

Betterthanyou написав:

Якщо це "фейкове" фото що на аватарці в bee, то я це знав ще з самого початку. І я навіть знаю ще це скорій всього хлопець.

Фото фейкове, але ніхто не казав, що я хлопець. Чому ви так подумали?)

16 Востаннє редагувалося Betterthanyou (27.09.2017 20:04:13)

Re: Random

А на основі якої інформації я маю знати хто ви ? Ви навіть справжнє ім'я не вказали (я в профілі написав як мене звати). В будь якому випадку мені байдуже якої ви статті, якщо ви дівчина – добре, якщо ви хлопець якій представляється дівчиною – напевно погано, для вас, не знаю нащо ви це робите.

17

Re: Random

Я Юля, приємно познайомитись.

Подякували: Betterthanyou, 0xDADA11C7, LoganRoss3

18

Re: Random

Олександр, приємно познайомитися

Подякували: bee1