Вписване в сайта



двумерни масиви

Понеделник, 26 Юли 2010 02:55

Задачи с двумерни масиви

Написана от 
Оценете
(8 гласа)

Да се състави програма на C++, която разпечатва предварително въведените стойности на елементите от двумерен масив по редове и колони. Масивът е квадратен брой редове е равен на броя колони. Елементите на масива са естествени числа от интервала [0..99].
Примерен изход:
2 3 4 5
1 2 5 6
5 6 7 8
2 4 6 8
Решение (свободен достъп)

Имате двумерен масив 6х5 от естествени числа от интервала [0..100], чийто стойности са въведени предварително.
Да се състави програма на C++, чрез която се извеждат елементите от масива с най-малката и най-голямата стойност.
Пример:
48,72,13,14,15
21,22,53,24,75
31,57,33,34,35
41,95,43,44,45
59,52,53,54,55
61,69,63,64,65
Изход: най-малко 13; най-голямо 95
Решение

Имате двумерен масив 6х5 от естествени числа от интервала [0..100], чийто стойности за въведени предварително.
От клавиатурата се въвежда естествено число v в същия интервал.
Да се състави програма на C++, чрез която се отпечатват двойките индекси на всички елементи от масива, чиято стойност е по-малка от v.
Пример: {79,72,13,14,15},{21,22,53,24,75},{31,57,33,34,35},{41,42,43,44,45},{59,52,53,54,55},{61,69,63,64,65} 14
{79,72,13,14,15},
{21,22,53,24,75},
{31,57,33,34,35},
{41,42,43,44,45},
{59,52,53,54,55},
{61,69,63,64,65} 14
Изход: 13
Решение

Една квадратна таблица от числа се нарича магически квадрат, когато е изпълнено следното условие: всички суми, получени поотделно от сбора на елементите по всеки ред/всеки стълб/всеки от двата диагонала са равни.
Да се състави програма на C++, която въвежда естествени числа от интервала [1..20] в дадена квадратна таблица и определя дали те образуват магически квадрат.
Пример:
16,3,2,13
5,10,11,8
9,6,7,12
4,15,14,1
Изход: магически квадрат, сума по редове и колони 34
Решение

Имате двумерен масив 6х5 от естествени числа от интервала [1..100], чийто стойности са въведени предварително.
Да се състави програма на C++, чрез която се разменят елементите на два реда в масива по 3 различни начина.
- в редове 1 и 2 чрез трета променлива;
- в редове 3 и 4 чрез събиране;
- в редове 5 и 6 чрез умножение.
Пример:
11,12,13,14,15
21,22,23,24,25
31,32,33,34,35
41,42,43,44,45
51,52,53,54,55
61,62,63,64,65
Изход:
21,22,23,24,25
11,12,13,14,15
41,42,43,44,45
31,32,33,34,35
61,62,63,64,65
51,52,53,54,55
Решение

Имате предварително въведени стойности на елементи в двумерен масив - естествени числа от интервала [0..100].
Да се състави програма на C++, чрез която се извеждат стойностите на елементите от двумерния масив по неговия неосновен (горе-дясно, долу-ляво) диагонал.
Да се изведе средната стойност на елементите в указания диагонал.
Пример:
1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,16
Изход: 4,7,10,13 средна стойност 8.5
Решение

Имате предварително въведени стойности на елементи в двумерен масив - естествени числа от интервала [0..100].
Да се състави програма на C++, чрез която се изведат стойностите на елементите в двумерен масив по неговия основен, главен диагонал - диагонала горе-ляво - долу-дясно.
Да се изведе стойността на най-големия елемент в указания диагонал.
Пример:
1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,16
Изход: 1, 6, 11,16.
Максимална стойност на елемент 16
Решение

Имате предварително въведени стойности на елементи в двумерен масив - естествени числа от интервала [0..100].
Да се състави програма на C++, чрез която се извеждат стойностите на елементите в двумерен масив след обръщането му на +90 градуса.
Пример:
1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,16
Изход
13,9,5,1
14,10,6,2
15,11,7,3
16,12,8,4
Решение

Имате предварително въведени стойности на елементи в двумерен масив - естествени числа от интервала [0..100].
Да се състави програма на C++, чрез която се извеждат стойностите на елементите в двумерен масив след обръщането му на -90 градуса.
Пример:
1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,16
Изход
4,8,12,16
3,7,11,15
2,6,10,14
1,5,9,13
Решение

Да се състави програма на C++, при която предварително са въведени естествени числа от интервала [0..100] в двумерен масив 4*4 елемента.
Програмата да извежда резултат от проверката какво е съотношението на най-голямата сума по редове спрямо най-голямата сума по колони.
Пример:
1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,16
Изход:
най-голяма сума по редове 58
най-голяма сума по колони 40
Максималната сума по редове е > от максималната сума по колони
Решение

Имате предварително въведени стойности от естествени числа, принадлежащи на интервала [10..99]. числата са въведени в квадратна таблица с размери 6 реда и 6 колони.
Да се състави програма на C++, чрез която се намира сумата на всички елементи от редовете с четни номера: 2,4 и 6.
Програмата да извежда и сумата на всеки отделен ред.
Пример:
11,12,13,14,15,16,
21,22,23,24,25,26,
31,32,33,34,35,36,
41,42,43,44,45,46,
51,52,53,54,55,56,
61,62,63,64,65,66
Изход:
21,22,23,24,25,26 сума 141
41,42,43,44,45,46 сума 261
61,62,63,64,65,66 сума 381
Сума на елементите 783
Решение

Имате предварително въведени стойности от естествени числа, принадлежащи на интервала [10..99]. числата са въведени в квадратна таблица с размери 6 реда и 6 колони.
Да се състави програма на C++, чрез която се намира сумата на всички елементи от колони с нечетни номера: 1,3 и 5.
Програмата да извежда и сумата на всяка отделна колона.
Пример:
11,12,13,14,15,16,
21,22,23,24,25,26,
31,32,33,34,35,36,
41,42,43,44,45,46,
51,52,53,54,55,56,
61,62,63,64,65,66
Изход:
11, 21, 31, 41, 51, 61 сума от елементите на колоната 216
13, 23, 33, 43, 53, 63 сума от елементите на колоната 228
15, 25, 35, 45, 55, 65 сума от елементите на колоната 240
Сума на елементите 684
Решение

Имате предварително въведени стойности от естествени числа, принадлежащи на интервала [10..99]. числата са въведени в квадратна таблица с размери 6 реда и 6 колони.
Да се състави програма на C++, чрез която се намира сумата на всички елементи, чиято сума на индекси за ред и колона е четно число. Програмата да извежда формираните суми за всеки отделен ред на квадратната таблица, както и общата сума от тези елементи.
Да се използва само един цикъл.
Пример:
11,12,13,14,15,16,
21,22,23,24,25,26,
31,32,33,34,35,36,
41,42,43,44,45,46,
51,52,53,54,55,56,
61,62,63,64,65,66
Изход:
11, ,13, ,15, , сума от елементите за реда: 39
,22, ,24, ,26, сума от елементите за реда: 72
31, ,33, ,35, , сума от елементите за реда: 99
,42, ,44, ,46, сума от елементите за реда: 132
51, ,53, ,55, , сума от елементите за реда: 159
,62, ,64, ,66 сума от елементите за реда: 192
Сума на елементите: 693
Решение

Имате предварително въведени стойности от естествени числа, принадлежащи на интервала [10..99]. Числата са въведени в квадратна таблица с размери 6 реда и 6 колони.
Да се състави програма на C++, чрез която се намира сумата на всички елементи, чиято стойност е нечетно число. Програмата да извежда формираните суми за всеки отделен ред на квадратната таблица, както и общата сума от тези елементи.
Да се използва само един цикъл.
Пример:
11,12,13,14,15,16,
21,22,23,24,25,26,
31,32,33,34,35,36,
41,42,43,44,45,46,
51,52,53,54,55,56,
61,62,63,64,65,66
Изход:
11, ,13, ,15, , сума от елементите 39
21, ,23, ,25, , сума от елементите 69
31, ,33, ,35, , сума от елементите 99
41, ,43, ,45, , сума от елементите 129
51, ,53, ,55, , сума от елементите 159
61, ,63, ,65, , сума от елементите 189
Сума на елементите: 684
Решение

средна стойност в проценти

Организирано е състезание по стрелба. Записани са N [5..100] участници. Регламентът е следния: всеки състезател има право на 10 изстрела, но за класирането се отчитат само резултатите на [2..9] попадения.
Организаторите трябва да създадат програма (C++), чрез която се въвежда брой точки [0..10] за всеки състезател и негов изстрел и да се изведе резултата на всички опити, средната стойност на състезателя и процента (цяло число) от средната стойност на всички участници.
Пример: N=5 Изход:
1: 8, 6, 4, 10, 0, 3, 3, 4, 7, 6 средна стойност 4.625 в проценти 93%
2: 4, 1, 8, 0, 7, 7, 4, 10, 2, 6 средна стойност 4.875 в проценти 98%
3: 7, 6, 5, 2, 2, 10, 4, 8, 1, 5 средна стойност 4.75 в проценти 95%
4: 5, 10, 3, 10, 10, 2, 10, 6, 6, 0 средна стойност 7.125 в проценти 143%
5: 0, 0, 6, 1, 8, 0, 7, 3, 2, 2 средна стойност 3.375 в проценти 68%
средна стойност от опитите на всички участници: 4.95

Решение

Да се състави програма (C++), чрез която от клавиатурата се въвеждат двойки естествени числа от интервала [0..100].
Числата съответстват на дължина на катети в правоъгълен триъгълник.
Програмата, при своята работа, да изведе колко от въведените триъгълници могат изцяло да се вместят в предварително зададен правоъгълен триъгълник.
Пример: 30,40; 36,27 - могат да се вместят
Пример: 32,24; 27,36 - не могат да се вместят
Решение

Да се състави програма (C++), която извежда стойностите на двумерен масив по редове и колони, след това разменя елементите, така че редовете да станат колони, а колоните редове.
Елементите на масива (квадратна таблица с размер 4х4) са предварително въведени и са естествени числа от интервала [0..100].
Размяната на стойностите да се извърши чрез умножение.
Пример:
11,12,13,14,
15,16,17,18,
19,20,21,22,
23,24,25,26;
Изход:
11; 15; 19; 23;
12; 16; 20; 24;
13; 17; 21; 25;
14; 18; 22; 26;
Решение

Да се състави програма (C++), чрез която се изчисляват и извеждат квадратите на всички естествени числа от интервала [1..20].
При изчисляване стойността на квадрата N^2 да не се ползва умножение или степенуване.
Получените стойности да се извеждат в нарастващ ред на сбора от цифрите на вече изчислената стойност N^2.
Пример: 10^2 (сбор на цифрите - 1) да се изведе преди 3^2 (=9).
Примерен Изход: със сбор на цифрите сведен до 1:
1^2 = 1 със сбор на цифри 1
8^2 = 64 със сбор на цифри 1
10^2 = 100 със сбор на цифри 1
17^2 = 289 със сбор на цифри 1
19^2 = 361 със сбор на цифри 1
Решение

Да се състави програма (C++), която проверява дали стойностите на елементите в квадратна таблица (4*4), които са наляво от основния диагонал са = 0, т.е. дали таблицата е горно диагонална.
Да се изведе подходящо съобщение и в двата случая.
Елементите в матрицата са естествени числа от интервала [0..99].
Пример:
11 12 13 14
0 22 23 24
0 0 33 34
0 0 0 44
Изход: елементите под главния диагонал са 0.
Решение

Да се състави програма (C++), чрез която се въвеждат координати на N броя точки в масив. Всяка от въведените координати е различна от 0, т.е. точката не лежи на координатна ос.
Програмата да извежда в кой квадрант колко точки има. Координатите са числа от интервала [-99.9..99.9].
Пример: 1,2; 2,-3; 5,-15; 7,8; 15,9
Изход:
квадрант 1: 3
квадрант 2: 0
квадрант 3: 0
квадрант 4: 2
Решение

Да се състави програма (C++), при която предварително са въведени псевдослучайни естествени числа от интервала [1..100] в двумерен масив 4*4 елемента.
Програмата да извежда като резултат максималната стойност от всички минимални стойности по отделни редове.
8 80 15 89
90 70 57 40
25 40 41 91
55 55 24 32
Изход: 40
Решение

Същестуват два двумерни масива с предварително въведени стойности. Първият масив съдържа случайни естествени числа от интервала [0..22], а елементите на втория са само 1.
И двата масива са с брой редове R и брой колони К - естествени числа от интервала [3..10].
Резултатът от решението на тази задача се записва в нов масив, чиито елементи са сума от произведения на всеки елемент от първия масив с всеки от елементите на втория.
Да се състави програма (C++), чрез която се извеждат стойностите на елементите и на трите двумерни масива.
Пример: I-ви масив:
11 17 4 10
29 4 18 18
22 14 5 5
1 27 1 11
25 2 27 6
II-ри масив:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
Резултат: сума от от произведения:
220 340 80 200
580 80 360 360
440 280 100 100
20 540 20 220
500 40 540 120
Решение

Имате квадратна матрица с брой редове N от интервала [3..10], която е с предварително въведени стойности от естествени числа от интервала [1..30].
Да се състави програма, чрез която матрицата се преобразува в горно диагонална.
Пример:
10 22 10 26 11
7 8 1 23 5
1 28 25 10 26
19 7 22 11 27
3 27 29 13 13
Изход:
10 22 10 26 11
0 8 1 23 5
0 0 25 10 26
0 0 0 11 27
0 0 0 0 13
Решение

Имате квадратна матрица с брой редове N от интервала [3..10], която е с предварително въведени стойности от естествени числа от интервала [1..30].
Да се състави програма, чрез която матрицата се преобразува в долно диагонална.
Пример:
10 22 10 26 11
7 8 1 23 5
1 28 25 10 26
19 7 22 11 27
3 27 29 13 13
Изход:
10 0 0 0 0
7 8 0 0 0
1 28 25 0 0
19 7 22 11 0
3 27 29 13 13
Решение

Имате правоъгълна матрица с брой редове N и брой колони К, където N<>K са различни естествени числа от интервала [3..10].
Матрицата е с предварително въведени стойности от естествени числа от интервала [1..30].
Да се състави програма, чрез която матрицата се преобразува в квадратна като липсващите елементи от редове и колони се запълнят с 0.
Пример:
11 17 4 10
29 4 18 18
22 14 5 5
1 27 1 11
25 2 27 6
21 24 2 3
Изход:
11 17 4 10 0 0
29 4 18 18 0 0
22 14 5 5 0 0
1 27 1 11 0 0
25 2 27 6 0 0
21 24 2 3 0 0
Решение

Да се състави програма, чрез която квадратна матрица с брой редове N от интервала [3..10] се запълва със случайни естествени числа от интервала [1..30].
Елементите в матрицата да се пренаредят, така че ако има елемент над основния диагонал, който е по-малък от симетричния му елемент под основния диагонал двата елемента си разменят местата.
Пример:
10,22,10,26
11, 7, 8, 1
23, 5, 1,28
25,10,26,19
Изход:
10,11,10,25
22, 7, 5, 1
23, 8, 1,26
26,10,28,19
Решение

Да се състави програма, чрез която се въвеждат N [5..105] двойки естествени дуцифрени числа.
Всяка от двойките стойности представлява числител и знаменател на обикновена дроб и се записва като елементи на двумерен масив.
Програмата да изведе всяка от дробите и изчисли стойността й в проценти - цяло число.
Пример: N=5 Изход:
17 / 82 = 20%
29 / 61 = 47%
12 / 60 = 20%
88 / 91 = 96%
73 / 19 = 384%
Решение

Имате двумерен масив 6x5 от естествени числа, чиито стойности за въведени предварително.
Да се състави програма (C++), чрез която по въведено естествено число за уникален индекс от интервала [0..29] се извежда елемент от масива. Броенето на елементите е по ред и колона.
Пример:
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
41 42 43 44 45
51 52 53 54 55
61 62 63 64 65
Пример: 5 Изход 21
Решение

Имате двумерен масив 6x5 от естествени числа, чиито стойности за въведени предварително.
Да се състави програма (C++), чрез която елементите на двумерния масив се извеждат в редица като последователността при обхождането на масива е ред и колона.
Вход:
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
41 42 43 44 45
51 52 53 54 55
61 62 63 64 65
Изход: 11 12 13 14 15 21 22 23 24 25 31 32 33 34 35 41 42 43 44 45 51 52 53 54 55 61 62 63 64 65
Решение

Имате двумерен масив 6x5 от естествени числа, чиито стойности за въведени предварително.
Да се състави програма (C++), чрез която елементите на двумерния масив се прехвърлят в едномерен като последователността при прехвърлянето е колона и ред.
Вход:
71 22 43 54 15
91 42 33 64 35
13 42 33 34 95
11 22 33 44 55
51 52 53 54 55
61 62 63 64 65
Изход: 71 22 43 54 15 91 42 33 64 35 13 42 33 34 95 11 22 33 44 55 51 52 53 54 55 61 62 63 64 65
Решение

Даден е куб с върхове ABCDEFGH. На всеки връх на куба е записано цяло число от интервала [-100..100]. На всеки ход от итеративен процес всяко от числата на върховете на куба се заменя със средната стойност на сумата от числата на негововите три съседни върха., като замяната става едновременно. Данните на отделните етапи от изчисляване се съхраняват в двумерен масив.
Да се състави програма, чрез която се показва този процес. Цикълът на замяна продължава, докато се получи повторение на числата на предходни етапи на замяна.
Изчисляване на средната стойност се извършва чрез закръгляване до най-близкото по стойност число от типа int.
Пример:
1; -1; 1; -2; 1; -3; 1; -4
0; 0; 0; 0; -2; 0; -2; 0
0; 0; 0; 0; 0; -1; 0; -1
0; 0; 0; 0; 0; 0; 0; 0
0; 0; 0; 0; 0; 0; 0; 0
Решение

Даден е двумерен масив (матрица) с M броя редове и N броя колони. Масивът съдържа предварително въведени реални числа от интервала [-99.9..99.9].
Да се състави програма, която чрез функция определя кой ред от матрицата съдържа най-голям брой положителни числа. Ако този ред не е първия, то елементите му да се сменят със съответните елементи на първия ред.
Да се изведе новото съдържание на двумерния масив.
Пример: M=3, N=4
-1.5, 2.1, -3.5, 4.3
-2.3, 5.2, 6.1, 7.6
-3.3,-4.4,-5.6, 7.2

Изход:
-2.3, 5.2, 6.1, 7.6
-1.5, 2.1, -3.5, 4.3
-3.3,-4.4,-5.6, 7.2
Решение

Даден е двумерен масив (матрица) с M броя редове и N броя колони. Масивът съдържа предварително въведени реални числа от интервала [-99.9..99.9].
Да се състави програма, която чрез функция определя коя колона от матрицата съдържа най-голям брой отрицателни числа. Ако тази колона не е последната, то елементите й да се сменят със съответните елементи на последната колона.
Да се изведе новото съдържание на двумерния масив.
Пример: M=3, N=4
-1.5, 2.1, -3.5, 4.3
-2.3, 5.2, 6.1, 7.6
-3.3,-4.4,-5.6, 7.2
Изход:
4.3; 2.1; -3.5; -1.5;
7.6; 5.2; 6.1; -2.3;
7.2; -4.4; -5.6; -3.3;
Решение

Да се състави програма, чрез която двумерен масив с брой редове и колони 9х9 се запълва със случайни двуцифрени естествени числа. Във всеки следващ ред на масива числата от дадена колона са във възходяща наредба. Разглеждаме двумерния масив като съставен от множество квадратни матрици, обединяващи елементите от K съседни редове и колони. K е естествено число от интервала [3..8] и се въвежда.
Програмата да изведе всички въможни матрици, съдържащи съседни елементи, както и сумата на елементите по техния основен диагонал.
Пример:
11; 10; 17; 18; 14; 10; 18; 11; 11
25; 25; 27; 22; 25; 20; 28; 24; 27
39; 37; 39; 33; 39; 39; 36; 34; 32
46; 47; 41; 48; 41; 40; 40; 45; 43
53; 50; 51; 57; 51; 52; 53; 51; 50
65; 60; 64; 69; 63; 67; 60; 69; 60
79; 71; 72; 78; 71; 78; 77; 71; 72
89; 88; 85; 88; 87; 82; 82; 89; 84
92; 94; 95; 95; 98; 99; 95; 99; 92
Изход – само за първата матрица:
Извеждам матрица с връх [1][1] със сума по диагонал: 75
11; 10; 17
25; 25; 27
39; 37; 39
Решение

Да се състави програма, чрез която двумерен масив с брой редове и колони 9х9 се запълва със случайни двуцифрени естествени числа. Числата от всяка следваща колона на масива са във възходяща наредба. Разглеждаме двумерния масив като съставен от множество правоъгълни матрици, обединяващи елементите от M съседни редове и N колони. M и N са естествени числа от интервала [2..8] и се въвеждат.
Програмата да изведе всички въможни матрици, съдържащи съседни елементи, както и сумата на елементите по техните крайни елементи – по ъглите.
Пример:
19; 29; 35; 42; 50; 61; 79; 84; 92;
11; 28; 36; 45; 56; 68; 79; 89; 93;
15; 29; 39; 41; 51; 67; 76; 83; 94;
16; 24; 37; 47; 54; 68; 72; 86; 97;
17; 23; 36; 46; 55; 60; 77; 84; 97;
13; 28; 33; 44; 54; 68; 72; 85; 96;
15; 25; 34; 47; 55; 62; 76; 89; 90;
16; 26; 31; 49; 57; 69; 71; 85; 96;
14; 21; 36; 47; 58; 62; 70; 87; 98;
Изход - само за първата матрица:
Извеждам матрица с връх [1][1] със сума по върхове: 108
19; 29; 35
11; 28; 36
15; 29; 39
Решение

Да се състави програма, чрез която двумерен масив с брой редове и колони 9х9 се запълва със случайни двуцифрени естествени числа. Числата от всяка колона с четен номер са кратни на две. Номерацията на редове и колони започва от 1. Разглеждаме двумерния масив като съставен от множество правоъгълни матрици, обединяващи елементите от M съседни редове и N колони. M и N са естествени числа от интервала [2..8] и се въвеждат.
Програмата да изведе всички въможни матрици, съдържащи съседни елементи, както и сумата на елементите принадлежащи на дадената матрица.
Пример:
39; 72; 47; 66; 54; 78; 68; 20; 88;
84; 50; 25; 26; 10; 16; 94; 34; 75;
29; 56; 28; 16; 62; 54; 62; 92; 47;
71; 24; 96; 84; 85; 14; 35; 72; 42;
29; 68; 58; 48; 82; 34; 77; 92; 19;
11; 36; 52; 38; 23; 14; 24; 48; 44;
94; 72; 23; 28; 31; 12; 14; 88; 51;
27; 38; 62; 44; 67; 72; 78; 60; 45;
64; 22; 55; 32; 76; 16; 57; 74; 69;
Извеждам матрица с връх [1][1] с обща сума 430
39; 72; 47;
84; 50; 25;
29; 56; 28;
Решение

Да се състави програма, чрез която двумерен масив с брой редове и колони 9х9 се запълва със случайни числа от интервала [10.01..99.99]. Числата от всяки ред с четен номер са с дробна част 0.. Номерацията на редове и колони започва от 1. Разглеждаме двумерния масив като съставен от множество правоъгълни матрици, обединяващи елементите от M съседни редове и N колони. M и N са естествени числа от интервала [2..8] и се въвеждат.
Програмата да изведе всички въможни матрици, съдържащи съседни елементи, както и сумата на елементите принадлежащи на крайните редове и колони на дадената матрица.
Пример:
48.84; 83.27; 62.59; 65.57; 22.36; 83.58; 13.33; 88.14; 47.71;
73; 98; 90; 89; 33; 50; 33; 46; 49;
94.01; 47.19; 13.89; 77.27; 65.12; 45.06; 76.93; 74.34; 60.63;
20; 89; 85; 29; 70; 56; 63; 52; 79;
57.87; 88.31; 70.43; 30.06; 89.29; 77.02; 13.74; 40.42; 92.62;
20; 54; 86; 51; 25; 85; 63; 56; 56;
37.49; 32.55; 49.9; 75.21; 64.57; 82.03; 94.02; 46.87; 63.6;
82; 96; 44; 25; 46; 58; 45; 67; 77;
96.38; 50.07; 68.44; 48.53; 41.16; 81.95; 55.41; 24.34; 42.37;
Извеждам матрица с връх [1][1] с обща сума 512.79
48.84; 83.27; 62.59;
73; 98; 90;
94.01; 47.19; 13.89;
Решение

Да се състави програма, чрез която двумерен масив с брой редове и колони 9х9 се запълва със случайни числа 0 или 1. Разглеждаме двумерния масив като съставен от множество правоъгълни матрици, обединяващи елементите от M съседни редове и N колони. M и N са естествени числа от интервала [2..8] и се въвеждат.
Програмата да изведе онази матрица, в чийто състав влизат най-малко 1. Номерацията на редове и колони започва от 1.
Пример:
0; 0; 1; 0; 0; 0; 0; 0; 1;
1; 0; 1; 1; 1; 1; 1; 0; 1;
0; 1; 1; 1; 0; 1; 0; 0; 1;
1; 0; 1; 0; 0; 0; 1; 0; 0;
0; 1; 0; 0; 1; 1; 0; 1; 0;
1; 1; 0; 0; 1; 0; 1; 1; 0;
1; 1; 0; 1; 1; 0; 0; 0; 0;
0; 1; 0; 0; 0; 0; 0; 0; 0;
0; 1; 0; 0; 0; 0; 0; 1; 0;
Изход: матрица с връх: [7][5] съдържа минимален брой 1
Решение

Да се състави програма, чрез която двумерен масив с брой редове и колони 9х9 се запълва със случайни двуцифрени, естествени числа. Разглеждаме двумерния масив като съставен от множество правоъгълни матрици, обединяващи елементите от M съседни редове и N колони. M и N са естествени числа от интервала [2..8] и се въвеждат. . Номерацията на редове и колони започва от 1.
Програмата да изведе онази матрица, за която сумата от заобикалящите я елементи е минимална. Тези елементи образуват контура на разглежданата матрица.
Пример:
24; 60; 28; 55; 35; 50; 74; 56; 19;
20; 39; 23; 63; 36; 59; 16; 52; 12;
25; 24; 40; 15; 22; 14; 41; 14; 46;
20; 54; 79; 67; 29; 17; 76; 87; 23;
67; 24; 60; 58; 64; 39; 73; 33; 45;
14; 32; 25; 15; 72; 46; 72; 69; 11;
67; 49; 73; 75; 19; 52; 83; 45; 12;
42; 63; 63; 56; 66; 48; 70; 21; 70;
37; 71; 84; 50; 74; 74; 63; 21; 50;
Матрица с горен ляв ъгъл: [3][2] е с минимална сума по контур 514:
24; 40; 15;
54; 79; 67;
24; 60; 58;
Решение

Операцията транспониране на матрица се състои в размяна на редове на квадратна матрица със съответните ѝ стълбове. Една квадратна матрица се нарича симетрична, ако е равна на транспонираната си.
Да се състави програма, чрез която в двумерен масив с брой редове и колони 9х9 се запишат случайни числа, така че крайният резултат да бъде симетрична матрица.
Пример:
36; 34; 56; 80; 77; 45; 88; 70; 45;
34; 66; 34; 35; 61; 59; 33; 78; 74;
56; 34; 76; 53; 19; 78; 75; 26; 74;
80; 35; 53; 47; 51; 47; 44; 21; 27;
77; 61; 19; 51; 54; 19; 34; 51; 71;
45; 59; 78; 47; 19; 65; 29; 47; 11;
88; 33; 75; 44; 34; 29; 68; 79; 39;
70; 78; 26; 21; 51; 47; 79; 22; 56;
45; 74; 74; 27; 71; 11; 39; 56; 66;
Решение

Под седлова точка в матрица ще разбираме такъв нейн елемент, който е с максимална стойност за реда и минимална стойност за колоната, към които принадлежи. Да се състави програма, чрез която се генерират/въвеждат от клавитурата двуцифрени естествени числа в двумерен масив с размери N,M. N и M са естествени числа от интервала [3..9] и не са непременно равни.
Програмата да проверява наличето на седлова точка в матрицата и извежда нейните координати или съобщение за липса на седлова точка.

Пример: 9,9
58, 39, 71, 45, 77, 96, 82, 87, 14,
94, 84, 72, 35, 55, 70, 67, 96, 54,
45, 75, 73, 95, 45, 60, 66, 14, 54,
55, 23, 74, 37, 43, 29, 78, 85, 89,
14, 40, 75, 31, 76, 21, 13, 79, 30,
23, 25, 66, 27, 28, 30, 31, 32, 24,
67, 10, 76, 20, 50, 15, 65, 43, 88,
70, 65, 77, 34, 21, 44, 89, 61, 59,
43, 12, 78, 34, 73, 46, 75, 21, 71
Изход: Открита е седлова точка в ред 6 и колона 3.
Решение

Да се състави програма, чрез която се въвеждат естествени числа от интервала [10..99] в двумерен масив с брой редове N и брой колони M.
Да се изведе в едномерен масив средната стойност по колони на двумерния масив.
Програмата да не се използва вложен цикъл. Броят редове и колони на двумерния масив не е непременно равен.
Пример: N=6, M=5
11, 12, 13, 14, 15,
21, 22, 23, 24, 25,
31, 32, 33, 34, 35,
41, 42, 43, 44, 45,
51, 52, 53, 54, 55,
61, 62, 63, 64, 65,
Изход: 36 37 38 39 40
Решение

Да се състави програма на C++, чрез която се въвежда естествено число N от интервала [5..15]. Програмата да генерира диагонална матрица, в която елементите на главния диагонал са естествени числа. Да се изведе скаларна матрица, за която сумата от елементите е равна или минимално по-голяма от началната диагонална матрица.
Решение

Дадена е квадратна матрица с равен брой редове и колони - N от интервала [2..13].
Да се изведе максималния ранг на началната матрица като се изчислят последователно стойностите на квадратните подматрици, включващи 2,3,4...N реда/стълба от основната матрица. Да се използва алгоритъм на Лаплас - чрез адюнгирани количества.
Пример: N=6 Изход:
5; 3; 1; 7; 8; 6;
1; 9; 2; 3; 4; 1;
3; 2; 6; 5; 7; 7;
1; 6; 1; 3; 7; 9;
8; 5; 1; 2; 5; 6;
7; 5; 4; 8; 6; 9;:
5; 3; 1; 7; 8; 6;
1; 9; 2; 3; 4; 1;
3; 2; 6; 5; 7; 7;
1; 6; 1; 3; 7; 9;
8; 5; 1; 2; 5; 6;
7; 5; 4; 8; 6; 9;:

2x2: 42; 3x3: 225; 4x4: 140; 5x5: 7168; 6x6: 72482
Решение

Дадена е квадратна матрица с равен брой редове и колони - N от интервала [2..202].
Да се състави нова долна триъгълна матрица, която има стойността на началната матрица.

Пример: N=9
36; 35; 44; 32; 25; 14; 48; 44; 37;
19; 46; 75; 87; 47; 61; 79; 74; 71;
35; 65; 52; 85; 48; 83; 15; 65; 31;
39; 55; 65; 88; 31; 83; 17; 42; 68;
87; 22; 39; 75; 57; 31; 31; 53; 18;
61; 82; 70; 56; 85; 32; 40; 26; 84;
35; 80; 28; 19; 48; 65; 19; 58; 42;
16; 35; 41; 39; 72; 71; 21; 23; 79;
16; 80; 34; 72; 67; 45; 81; 26; 44;

долна триъгълна матрица
26.1676; 0; 0; 0; 0; 0; 0; 0; 0;
-72.9413; -117.246; 0; 0; 0; 0; 0; 0; 0;
-31.7764; 60.5069; 15.1142; 0; 0; 0; 0; 0; 0;
82.454; -97.34; 51.5287; 136.443; 0; 0; 0; 0; 0;
43.0533; -70.9102; 13.6265; 53.8442; 23.4171; 0; 0; 0; 0;
43.2352; 31.5978; 23.7613; 1.40706; 1.85887; -43.7907; 0; 0; 0;
1.89443; -148.58; -32.5413; -176.213; -83.6238; 8.32054; -232.666; 0; 0;
-12.7273; -108.636; -20.0455; -90.2727; -48.2955; -9.79545; -124.432; -23.6818;0;
16; 80; 34; 72; 67; 45; 81; 26; 44;
Решение

Дадена е квадратна матрица с равен брой редове и колони - N от интервала [2..202].
Без да се променя стойността на матрицата да се състави и изведе нова горна триъгълна матрица. Използвайте алгоритъм на Гаус.
Пример: N=9
31; 64; 74; 24; 59; 42; 57; 46; 23;
16; 56; 71; 58; 15; 24; 31; 64; 63;
76; 21; 16; 81; 38; 59; 12; 58; 50;
50; 40; 14; 21; 54; 47; 17; 23; 86;
51; 10; 79; 88; 84; 89; 61; 42; 35;
74; 46; 27; 39; 58; 75; 11; 16; 41;
52; 48; 42; 49; 75; 10; 67; 38; 35;
58; 16; 15; 27; 31; 29; 36; 69; 48;
37; 24; 45; 81; 17; 73; 70; 64; 67;

горна триъгълна матрица - алгоритъм на Гаус
31; 64; 74; 24; 59; 42; 57; 46; 23;
0; 22.9677; 32.8065; 45.6129; -15.4516; 2.32258; 1.58065; 40.2581; 51.129;
0; 0; 24.0615; 264.594; -170.888; -20.7604; -104.378; 165.809; 264.324;
0; 0; 0; 273.297; -190.548; -27.3292; -135.849; 163.305; 354.926;
0; 0; 0; 0; 35.8553; 31.2023; -13.3649; -38.6168; 208.229;
0; 0; 0; 0; 0; 22.6839; -32.5414; -46.1796; 104.726;
0; 0; 0; 0; 0; 0; -45.4671; -113.876; 127.717;
0; 0; 0; 0; 0; 0; 0; 31.9337; 230.289;
0; 0; 0; 0; 0; 0; 0; 0; 1420.72;
Решение

Дадена е квадратна матрица с равен брой редове и колони - N от интервала [2..202].
Без да се променя стойността на матрицата да се състави и изведе диагонална матрица. Използвайте алгоритъм на алгориъм на Гаус-Джордан.
Пример: N=9
84; 23; 62; 24; 87; 67; 26; 20; 68;
89; 75; 51; 54; 10; 67; 12; 85; 79;
83; 46; 55; 18; 15; 79; 40; 79; 15;
51; 13; 44; 55; 64; 54; 87; 42; 63;
18; 63; 74; 54; 24; 85; 83; 68; 34;
84; 89; 76; 28; 79; 79; 54; 46; 74;
57; 34; 38; 29; 52; 31; 74; 20; 37;
11; 61; 25; 63; 59; 31; 54; 41; 13;
10; 86; 63; 44; 42; 44; 39; 85; 60;

Изход: диагонална матрица - алгориъм на Гаус-Джордан
84; 0; 0; 0; 0; 0; 0; 0; 0;
0; 50.631; 0; 0; 0; 0; 0; 0; 0;
0; 0; 77.5831; 0; 0; 0; 0; 0; 0;
0; 0; 0; 41.48; 0; 0; 0; 0; 0;
0; 0; 0; 0; -7.44131; 0; 0; 0; 0;
0; 0; 0; 0; 0; -163.857; 0; 0; 0;
0; 0; 0; 0; 0; 0; 25.6767; 0; 0;
0; 0; 0; 0; 0; 0; 0; 61.9325; 0;
0; 0; 0; 0; 0; 0; 0; 0; 205.399;
Решение

Да се състави програма на C++, чрез която се въвеждат две правоъгълни матрици с размери A[K][O] и B[O][M]. Числата K,O и M са от интервала [3..13]. Въведените стойности в матриците са едноцифрени числа. Програмата да извърши умножението по правилото за скаралното умножение на вектори – в случая ред по стълб. Всеки отделен елемент от ред на матрица A се умножава последователно с всеки елемент от стълбовете на матрица B. Сумата на всяко от тези произведения дава един елемент от реда на матрица C с номер, съвпадащ с този на матрица A. Елементите от първия ред на A, умножени с всички стълбове на B, дава всички елементи от първия ред на матрица C и т.н.
Пример: K=5, O=4, M=3 Изход:
матрица A: ___ матрица B: ___ матрица произведение
6; 1; 8; 1; ___ 9; 6; 9; ___ 71; 59; 127;
3; 2; 5; 2; ___ 7; 6; 8; ___ 50; 42; 85;
9; 3; 7; 2; ___ 1; 2; 8; ___ 113; 88; 163;
7; 5; 5; 2; ___ 2; 1; 1; ___ 107; 84; 145;
3; 7; 8; 1; ___________________ 86; 77; 148;
Решение

Да се състави програма на C++, чрез която се въвеждат 2 естествени числа K и M, представляващи брой редове и колони на двумерен масив. Елементите на масива са естествени числа от интервала [10..99] и се въвеждат или генерират. Програмата да изведе разликата между максималния и минималния елемент за всяка колона на масива.
Пример: K=5, M=4
73; 89; 53; 91;
91; 94; 66; 85;
68; 81; 63; 39;
18; 78; 30; 43;
77; 59; 69; 95;
Изход:
1: 91-18=73
2: 94-59=35
3: 69-30=39
4: 95-39=56
Решение

Имате предварително въведени стойности от естествени числа от интервала [10..99]. Числата са въведени в двумерен масив с 5 реда и 5 колони.
Да се състави програма, която разпечатва елементите на масива по спирала, като началото й е в горния ляв ъгъл по посока обратна на часовата стрелка.
Пример:
11,12,13,14,15,
21,22,23,24,25,
31,32,33,34,35,
41,42,43,44,45,
51,52,53,54,55;
Изход: 11 21 31 41 51 52 53 54 55 45 35 25 15 14 13 12 22 32 42 43 44 34 24 23 33
Решение

Да се състави програма на C++, чрез която се извеждат стойности на квадратна таблица с размери 7 реда и 7 колони.
Извеждане елементите на матрицата става по спирала, като началото й е в горния ляв ъгъл, а посоката й по посока на часовата стрелка - първия ред надясно, надолу., последния ред наляво, нагоре и т.н.
Пример:
11 12 13 14 15 16 17
21 22 23 24 25 26 27
31 32 33 34 35 36 37
41 42 43 44 45 46 47
51 52 53 54 55 56 57
61 62 63 64 65 66 67
71 72 73 74 75 76 77
Изход: 11 12 13 14 15 16 17 27 37 47 57 67 77 76 75 74 73 72 71 61 51 41 31 21 22 23 24 25 26 36 46 56 66 65 64 63 62 52 42 32 33 34 35 45 55 54 53 43 44
Решение

Да се състави програма на C++, чрез която се въвеждат стойности на елементи в правоъгълна матрица с размери NxM и се извежда процент на запълване. Това е отношението между броя на ненулевите елементи към общия брой на елементите в матрицата
Решение

Да се състави програма на C++, чрез която се въвеждат стойности на елементи в квадратна матрица с размери NxN и се извеждат само елементите, принадлежащи на неосновния диагонал и успоредните му диагонали.
За всеки от тези диагонали да се извежда минималния елемент.
Решение

В линейната алгебра адюнгирано количество на квадратна матрица по дадени ред i и стълб j е детерминантата на матрица без дадените ред и стълб, със знак зависещ от четността на сумата на i и j (+ при четно и - при нечетно). Началният ред и стълб е 1.
Да се състави програма на C++, чрез която се въвежда естествено число N от интервала [3..13] и след това се въвеждат/генерират две кавадратни матрици с брой редове и колони N. Всяка от матриците съдържа едноцифрени числа. Програмата да изчисли стойността на всяка от въведените матрици по метода на адюнгирано количество, да извърши произведение на двете матрици и да изведе стойността на матрицата резултат отново по метода на адюнгирано количество.
Пример: N=4
матрица 1:
2; 2; 5; 6;
5; 4; 3; 6;
5; 9; 6; 6;
6; 6; 2; 5;
стойност на матрица 1: 13
матрица 2:
2; 8; 2; 1;
2; 5; 5; 7;
1; 4; 9; 4;
6; 2; 3; 3;
стойност на матрица 2: 1587
матрица произведение:
49; 58; 77; 54;
57; 84; 75; 63;
70; 121; 127; 110;
56; 96; 75; 71;
стойност на матрица произведение: 20631
Решение

Детерминати от 3-ти ред могат да бъдат изчислени и ръчно чрез алгоритъм на Сарус или метода на триъгълниците. Детерминанти от по-висок ред се изчисляват по метода на адюнгирани количества. Стойността на матрицата е равна на сумата от произведенията на елементите на даден ред с адюнгираните количества за всеки елемент от реда, отчитайки знака пред всяко произведение.
Да се състави програма на C++, чрез която се въвежда естествено число N [3..13] и след това N*N броя цели числа, стойности на елементи в квадратна матрица. Програмата да изведе поддетерминатите, чийто адюнгирани количества се изчисляват, сумата от произведението на всеки елемент от избрания ред, неговото адюнгирано количество умножено със съответния коефициент, както и стойността на детерминантата на въведената матрица.
Пример: N=4, R=4
Въведена квадратна матрица:
2; 2; 8; 3;
3; 6; 1; 7;
3; 6; 2; 6;
6; 1; 9; 3;

Изведени адюнгирани количества по ред 4:
2; 8; 3;
6; 1; 7;
6; 2; 6;
= -6 * ( 50 )

2; 8; 3;
3; 1; 7;
3; 2; 6;
= +1 * ( 17 )

2; 2; 3;
3; 6; 7;
3; 6; 6;
= -9 * ( -6 )

2; 2; 8;
3; 6; 1;
3; 6; 2;
= +3 * ( 6 )
Стойност на детерминанта: -211
Решение

Стойност на детерминанта на дадена матрица се изчислява като сума от произведенията на елементите на дадена колона с адюнгираните количества за всеки елемент от колоната, отчитайки знака пред всяко произведение.
Да се състави програма на C++, чрез която се въвежда естествено число N [3..13] и след това N*N броя реални числа, елементи на квадратна матрица. Програмата да изведе участващите елементи в поддетерминатите, чийто адюнгирани количества се изчисляват, сумата от произведението на всеки елемент от въведената колона, неговото адюнгирано количество умножено със съответния коефициент.
Пример: N=4, K=1
Елементи на квадратна матрица:
9; 1; 2; 1;
8; 9; 1; 9;
2; 7; 1; 6;
4; 3; 3; 1;

Изведени адюнгирани количества по колона 1:

9; 1; 9;
7; 1; 6;
3; 3; 1;
= +9 * ( 20 )

1; 2; 1;
7; 1; 6;
3; 3; 1;
= -8 * ( 23 )

1; 2; 1;
9; 1; 9;
3; 3; 1;
= +2 * ( 34 )

1; 2; 1;
9; 1; 9;
7; 1; 6;
= -4 * ( 17 )
Стойност на детерминанта: -4
Решение

Една квадратна матрица се нарича неособена, ако детерминантата й е различна от нула. Всяка неособена матрица има една единствена обратна матрица. Ефективен и удобен алгоритъм за намиране обратна матрица на дадена матрица е метода с адюнгирани количества.
Да се състави програма на C++, чрез която се въвежда естествено число N [3..13] и след това се въвеждат NxN елемента. Програмата да провери дали дадената матрица е неособена и да изчисли и изведе обратна матрица на дадената чрез изчисляване на съответните адюнгирани количества за всеки елемент от въведената матрица.
Елементите на изчислената обратна матрица да се представят като отношение между стойностите на съответните адюнгирани количества и стойността на началната квадратна матрица.
Пример: N=5
9; 3; 6; 5; 1;
1; 5; 4; 7; 2;
7; 3; 3; 9; 3;
9; 9; 3; 9; 4;
1; 2; 1; 1; 8;
Изчислена стойност за въведената матрица: 5669
Елементите на нейната обратна матрица са:
-367/(5669); 254/(5669); 359/(5669); -835/(5669); 684/(5669);
244/(5669); -195/(5669); -427/(5669); 894/(5669); -684/(5669);
-308/(5669); 284/(5669); 976/(5669); -1437/(5669); 726/(5669);
1964/(5669); -1940/(5669); 1784/(5669); -1353/(5669); 66/(5669);
268/(5669); -284/(5669); 430/(5669); -430/(5669); -8370/(5669);
Решение

Под диагонално доминатна матрица (diagonally dominant matrix) ще разбираме такава квадратна матрица, в която всеки елемент от главния диагонал по абсолютна стойност (модул) е по-голям или равен на сумата от абсолютните стойности на елементите от реда без него.
Да се състави програма на C++, чрез която се въвежда естествено число N [3..23] и след това се въвеждат NxN елемента, всички те са цели числа. Програмата да промени въведената квадратна матрица в диагонално доминатна матрица.
Решение

Прочетена 18181 пъти Последно променена в Събота, 12 Януари 2013 16:08