Розв’язування задач на двовимірні масиви
Зміст
- 1. Утворення третьої матриці на основі двох матриць
- 2. Обробка матриці, що складається з рядків. Визначення кількості рядків згідно з критерієм
- 3. Створити матрицю на основі двох інших згідно з формулою
- 4. Визначення вмісту двовимірної таблиці згідно з умовою
- 5. Формування одновимірного масиву на основі двовимірної матриці. Визначення середнього арифметичного стовпців матриці
- Споріднені теми
Пошук на інших ресурсах:
1. Утворення третьої матриці на основі двох матриць
Умова задачі. Задано дві матриці чисел A та B. Розмірність матриць m×n (m – кількість рядків, n – кількість стовпців). Числа матриць формуються випадково. Сформувати третю матрицю C в якій кожен елемент визначається за формулою
де i = 1, 2, …, m; j = 1, 2, …, n.
Розв’язок.
// Двовимірні масиви. Розв'язок задач. // Утворення третьої матриці на основі двох // 1. Оголошення матриць та їх створення var A = new Array(), B = new Array() // вихідні матриці var C = [] // результуюча матриця // 2. Ввести розмірність матриць m, n var m = prompt("m = ") var n = prompt("n = ") // 3. Виділити пам'ять для комірок матриць // 3.1. Виділити пам'ять для m рядків матриць A.length = m B.length = m // 3.2. Виділити пам'ять для n стовпців у кожному рядку for (var i=0; i<A.length; i++) { // Створити масив A[i] та виділити пам'ять для нього A[i] = new Array() A[i].length = n // Створити масив B[i] та виділити пам'ять для нього B[i] = new Array() B[i].length = n } // 4. Заповнити матриці A, B випадковими числами в інтервалі [ min; max] var min = -10 // нижня межа інтервалу var max = 10 // верхня межа інтервалу for (var i=0; i<A.length; i++) for (var j=0; j<A[i].length; j++) { // Розміри масивів однакові, тому можна формувати одразу два масиви A[i][j] = parseInt(min + Math.random()*(max - min + 1)) B[i][j] = parseInt(min + Math.random()*(max - min + 1)) } // 5. Вивести матрицю A для контролю document.write("A:<br>") for (var i=0; i<A.length; i++) { for (var j=0; j<A[i].length; j++) document.write(A[i][j] + " ") document.write("<br>") } document.write("<br>") // 6. Вивести матрицю B для контролю document.write("B:<br>") for (var i=0; i<B.length; i++) { for (var j=0; j<B[i].length; j++) document.write(B[i][j] + "\t") document.write("<br>") } document.write("<br>") // 7. Сформувати результуючу матрицю C // 7.1. Виділити пам'ять для матриці C розміром m*n C.length = A.length // кількість рядків for (var i=0; i<C.length; i++) { C[i] = [] // створити масив C[i] C[i].length = n // задати кількість стовпців } // 7.2. Заповнити значеннями комірки матриці згідно з умовою задачі for (var i=0; i<C.length; i++) for (var j=0; j<C[i].length; j++) C[i][j] = A[i][j]*A[i][j] + B[i][j] // 8. Вивести результуючу матрицю C document.write("C:<br>") for (var i=0; i<C.length; i++) { for (var j=0; j<C[i].length; j++) document.write(C[i][j] + " ") document.write("<br>") }
Результат
A: -1 5 -8 5 3 5 8 -3 -5 0 -5 10 0 -5 9 B: 9 -4 -9 1 -4 0 2 5 -1 6 1 -4 5 0 8 C: 10 21 55 26 5 25 66 14 24 6 26 96 5 25 89
⇑
2. Обробка матриці, що складається з рядків. Визначення кількості рядків згідно з критерієм
Умова задачі. Задано матрицю A слів (рядків) розміром m×n. Визначити, скільки рядків матриці мають довжину більше заданого k. Елементи матриці A та значення m, n, k вводяться з клавіатури.
Розв’язок.
// Двовимірні масиви. Розв'язування задач. // Визначення кількості рядків матриці згідно з критерієм // 1. Оголошення матриці var A = new Array() // 2. Ввести розмірність матриці m*n var m = prompt("m = ") var n = prompt("n = ") // 3. Ввести k var k = prompt("k = ") // 4. Виділити пам'ять для матриці A.length = m for (var i=0; i<m; i++) { A[i] = new Array() A[i].length = n } // 5. Цикл формування матриці рядків for (var i=0; i<m; i++) for (var j=0; j<n; j++) { A[i][j] = prompt("A[" + i + "][" + j + "] = ") } // 6. Вивести матрицю A для контролю document.write("A:<br>") for (var i=0; i<A.length; i++) { for (var j=0; j<A[i].length; j++) document.write(A[i][j] + " ") document.write("<br>") } document.write("<br><br>") // 7. Цикл обчислення кількості рядків з довжиною не більше k var count = 0 // результат for (var i=0; i<A.length-1; i++) for (var j=0; j<A[i].length; j++) if (A[i][j].length <= k) count++ // 7. Вивести результат document.write("-----------------------------<br>") document.write("count = " + count)
Результат
A: abcd jklmn jprstq 123456 ----------------------------- count = 2
⇑
3. Створити матрицю на основі двох інших згідно з формулою
Умова задачі. Дано натуральні числа m, n та матриці дійсних чисел Aij, Bij, де i = 1, 2, …, m; j = 1, 2, …, n. Обчислити значення елементів матриці Cij, якщо:
Розв’язок.
// Двовимірні масиви. Розв'язування задач. // Формування третьої матриці на основі двох заданих // 1. Ввід m, n var m = prompt("m = ") var n = prompt("n = ") // 2. Оголошення матриць A, B та заповнення їх значеннями // 2.1. Створити масиви A, B var A = [] var B = [] // 2.2. Налаштувати кількість рядків m A.length = m B.length = m // 2.3. Створити підмасиви та налаштувати їх for (var i=0; i<A.length; i++) { // Створити підмасиви в масивах A, B A[i] = [] A[i].length = n B[i] = [] B[i].length = n } // 2.4. Ввести числа в масиви A, B for (var i=0; i<A.length; i++) for (var j=0; j<A[i].length; j++) A[i][j] = prompt("A["+i+"]["+j+"] = ") for (var i=0; i<B.length; i++) for (var j=0; j<B[i].length; j++) B[i][j] = prompt("B["+i+"]["+j+"] = ") // 3. Вивести масиви A та B для контролю document.write("A:<br>") for (var i=0; i<A.length; i++) { for (var j=0; j<A[i].length; j++) document.write(A[i][j]+" ") document.write("<br>") } document.write("<br>") document.write("B:<br>") for (var i=0; i<B.length; i++) { for (var j=0; j<B[i].length; j++) document.write(B[i][j]+" ") document.write("<br>") } document.write("<br>") // 4. Створення матриці C та встановлення розмірів матриці var C = [] C.length = m for (var i=0; i<C.length; i++) { C[i] = [] C[i].length = n } // 5. Заповнення матриці C результуючим значенням згідно з формулою for (var i=1; i<=C.length; i++) for (var j=1; j<=C[i-1].length; j++) { if (i<j) C[i-1][j-1] = i*i + j - 5; else if (i==j) C[i-1][j-1] = 1 / ((i+j)*(i+j)*(i+j)); else C[i-1][j-1] = Math.sin(A[i-1][j-1])*Math.sin(B[i-1][j-1]) + Math.cos(B[i-1][j-1]) } // 6. Вивести результат document.write("C:<br>") for (var i=0; i<C.length; i++) { for (var j=0; j<C[i].length; j++) document.write(C[i][j]+" ") document.write("<br>") }
Результат
A: 1 2 3 4 5 6 B: 1 1 1 1 1 1 C: 0.125 -2 -1 -0.09652503516369604 0.015625 2
⇑
4. Визначення вмісту двовимірної таблиці згідно з умовою
Умова задачі. Дано натуральне число n. Визначити кількість додатніх та кількість від’ємних елементів таблиці A розмірністю n×n, якщо
де i, j = 1, 2, …, n.
Розв’язок.
// Двовимірні масиви. Розв'язування задач. // Дано натуральне число n. Визначити кількість додатніх // та кількість від'ємних елементів таблиці A // 1. Ввід n var n = prompt("n = ") // 2. Оголошення таблиці A var A = [] // 3. Налаштувати розміри таблиці A A.length = n for (var i=0; i<A.length; i++) { A[i] = [] A[i].length = n } // 4. Сформувати таблицю A за формулою for (var i=0; i<A.length; i++) for (var j=0; j<A[i].length; j++) A[i][j] = Math.sin(i*i-j) // 5. Вивести таблицю A для контролю // з точністю 2 знаки після коми document.write("A:<br>") for (var i=0; i<A.length; i++) { for (var j=0; j<A[i].length; j++) document.write(A[i][j].toFixed(2)+" ") document.write("<br>") } document.write("<br>") // 6. Обчислити кількість додатніх та від'ємних елементів var n1 = 0 // кількість додатніх var n2 = 0 // кількість від'ємних for (var i=0; i<A.length; i++) for (var j=0; j<A.length; j++) { if (A[i][j]<0) n1++ else n2++ } // 7. Вивести результат document.write("n1 = " + n1 + "<br>") document.write("n2 = " + n2 + "<br>")
Результат
A: 0.00 -0.84 -0.91 -0.14 0.84 0.00 -0.84 -0.91 -0.76 0.14 0.91 0.84 0.41 0.99 0.66 -0.28 n1 = 7 n2 = 9
⇑
5. Формування одновимірного масиву на основі двовимірної матриці. Визначення середнього арифметичного стовпців матриці
Умова задачі. Задано матрицю Aij, де i=1, 2, …, m, j = 1, 2, …, n. Створити новий одновимірний масив Bi розміром m, в якому елементи рівні середньому арифметичному кожного стовпця матриці A.
Розв’язок.
// Двовимірні масиви. Розв'язування задач. // Сформувати масив середніх арифметичних стовпців заданої матриці // 1. Ввід m, n var m = prompt("m = ") var n = prompt("n = ") // 2. Оголошення матрицы A var A = [] // 3. Налаштувати розміри матриці A A.length = m for (var i=0; i<A.length; i++) { A[i] = [] A[i].length = n } // 4. Ввести матрицю A з клавіатури for (var i=0; i<A.length; i++) for (var j=0; j<A[i].length; j++) A[i][j] = prompt("A["+i+"]["+j+"] = ") // 5. Вивести m, n для контролю document.write("m = " + m + "<br>") document.write("n = " + n + "<br>") // 6. Вивести матрицю A для контролю document.write("A:<br>") for (var i=0; i<A.length; i++) { for (var j=0; j<A[i].length; j++) document.write(A[i][j]+" ") document.write("<br>") } // 7. Створити результуючий масив B та налаштувати його розміри var B = [] B.length = n // кількість стовпців, масив одновимірний // 8. Цикл обчислення середнього арифметичного та заповнення матриці B var avg // допоміжна змінна - середнє арифметичне for (var i=0; i<n; i++) // зовнішній цикл по стовпцях { avg = 0; for (var j=0; j<m; j++) // обчислити суму стовпчика i avg += parseFloat(A[j][i]) B[i] = avg / m } // 9. Вивести результат document.write("B:<br>") for (var i=0; i<B.length; i++) document.write(B[i].toFixed(2) + " ") document.write("<br>")
Результат
m = 2 n = 3 A: 1 2 3 4 5 6 B: 2.50 3.50 4.50
⇑
Споріднені теми
- Одновимірні масиви. Створення масиву. Властивість length. Формування масиву
- Двовимірні масиви. Масиви в масивах. Тривимірні масиви
- Розв’язування задач на одновимірні масиви. Приклади
⇑