Тема: Random
Доброї ночі) Допоможіть, будь ласка, задати матрицю 10х10 рандомно.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Random
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Доброї ночі) Допоможіть, будь ласка, задати матрицю 10х10 рандомно.
Ох, як це знайомо! Завтра здавати напевно))
Таке має гуглитись за дві хвилини)) Буде готовий код.
А якщо цікаво повністю, то:
Два вкладених цикли: В першому перебириєте стовпці (від 0 до 9), в другому - рядки (від 0 до 9). В тілі другого циклу: рандомно отримуєте якусь цифру і присвоюєте в комірку з певним стовпцем і рядком
Перше посилання в гуглі...
#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;
}
Я розумію, що є готовий код, я теж гуглила. Але хотілося б самій розібратись у цьому, що поки що не виходить. Просто не дуже хочеться катати готовий код, не розуміючи, як він працює))
ну я там поверхнево розписав, якщо ще не зрозуміло, звертайтесь якось
Я розумію, що є готовий код, я теж гуглила. Але хотілося б самій розібратись у цьому, що поки що не виходить. Просто не дуже хочеться катати готовий код, не розуміючи, як він працює))
Що конкретно не розумієте ? Код же ж прокоментований. (Якщо все не розумієте, тоді краще почніть вивчення з книг про С++)
for (int i = 0; i <n; i ++)
{
a [i] = new int [n]; // Створюємо елементи
}
Я не розумію цю частину. Ми ж створюємо далі двовимірний масив, то чому тут одновимірний? Чи я щось просто неправильно розумію?
Двовимірний масив це масив вказівників на одновимірні масиви, а тривимірний це масив вказівників на масиви вказівників на одновимірні масиви.
0xDADA11C7, не плутайте людину. В C++ немає двовимірних масивів, але є купа різних конструкцій, здатних їх замінити. Беремо будь-який тип, який можна індексувати (масив, вказівник на масив, вектор чи якусь екзотику) і замість елементів підставляємо, знову ж таки, будь-який тип, який можна індексувати: масив масивів, масив вказівників на масиви, масив векторів, вектор масивів, вектор векторів і т.д. і т.д.
Зокрема, тут є вказівник a на масив (в C/C++ не розрізняються вказівники на масив і на елемент) вказівників на масиви.
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;
}
Betterthanyou, вам настільки кореянки подобаються? Лі Сун Кюн схвалює
Що не кажіть, а китаянки/кореянки переважно досить милі. От тільки голос в них як у підлітків, в яких ще не відбулася мутація. Кажуть, це там модно так.
Betterthanyou, вам настільки кореянки подобаються? Лі Сун Кюн схвалює
Чесно кажучи, нічого не зрозумів...
Хто така Лі Сун Кюн (негуглиться) ? Якщо це "фейкове" фото що на аватарці в bee, то я це знав ще з самого початку. І я навіть знаю ще це скорій всього хлопець. А якщо говорити про мої особисті вподобання, я нейтрально відношусь до азіатів.
Якщо це "фейкове" фото що на аватарці в bee, то я це знав ще з самого початку. І я навіть знаю ще це скорій всього хлопець.
Фото фейкове, але ніхто не казав, що я хлопець. Чому ви так подумали?)
А на основі якої інформації я маю знати хто ви ? Ви навіть справжнє ім'я не вказали (я в профілі написав як мене звати). В будь якому випадку мені байдуже якої ви статті, якщо ви дівчина – добре, якщо ви хлопець якій представляється дівчиною – напевно погано, для вас, не знаю нащо ви це робите.
Я Юля, приємно познайомитись.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися