Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <math.h>
- #include <locale>
- using namespace std;
- void vavedi(int n, int m, int mas[20][20]) // дефиниране на процедура за въвеждане с 3 цели формални параметъра, един от тях е двумерен масив с размерност 20 по 20
- {
- for (int i = 0; i < n; i++) // обхождане на редовете
- for (int j = 0; j < m; j++) // обхождане на колоните
- {
- cout << "mas[" << i << ", " << j << "] = "; // извеждане на текст с името на двумерния масив и текущия му елемент
- cin >> mas[i][j]; // въвеждане на стойност на дадения елемента на двумерния масив
- }
- }
- void izvedi(int n, int m, int mas[20][20]) // дефиниране на процедура за извеждане с 3 цели формални параметъра, един от тях е двумерен масив с размерност 20 по 20
- {
- for (int i = 0; i < n; i++) // обхождане на редовете
- {
- for (int j = 0; j < m; j++) // обхождане на колоните
- cout << setw(8) << mas[i][j]; // извеждане на елементите на двумерния масива с 8 знака надясно
- cout << "\n"; // нов ред
- }
- }
- double sredno(int n, int m, int mas[20][20]) // дефиниране на функция за намиране на средно аритметично на елементите с 3 цели формални параметъра, един от тях е двумерен масив с размерност 20 по 20
- {
- double Sr = 0; // деклариране на реална променлива с начална стойност 0, която служи за намиране на средно аритметично
- for (int i = 0; i < n; i++) // обхождане на редовете
- for (int j = 0; j < m; j++) // обхождане на колоните
- if (i == j) // проверка дали индексите съвпадат
- Sr = Sr + mas[i][j]; // присвояване на стойност
- Sr = Sr / m; // намиране на средно аритметично, като се дели по колоните
- return Sr; // връщане на резултат
- }
- int Br(int n, int m, int mas[20][20]) // дефиниране на функция за намиране на броя четни елементи с 3 цели формални параметъра, един от тях е двумерен масив с размерност 20 по 20
- {
- int br = 0; // деклариране на цяла променлива с начална стойност 0, която служи за брояч
- for (int i = 0; i < n; i++) // обхождане на редовете
- for (int j = i; j < m; j++) // обхождане на колоните
- if (mas[i][j] % 2 == 0) // проверка за стойността на дадените елементи са четни
- br++; // увеличаване на стойността с 1
- return br; // връщане на резултат
- }
- void Maksimalno(int n, int m, int mas[20][20]) // дефиниране на процедура за намиране на елемент с най-голяма стойност на ред с 3 цели формални параметъра, един от тях е двумерен масив с размерност 20 по 20
- {
- int Mr[20]; // деклариране на цял едномерен масив с размерност 20, който служи за запазване на най-голямата стойност на всеки ред
- for (int i = 0; i < n; i++) // обхождане на редовете
- {
- Mr[i] = mas[i][0]; // присвояване на стойност
- for (int j = 0; j < m; j++) // обхождане на колоните
- if (Mr[i] < mas[i][j]) // проверка дали елемента на едномерния масив е по-малък от този на двумерния
- Mr[i] = mas[i][j]; // присвояване на стойност
- cout << setw(5) << Mr[i]; // извеждане на елементите на едномерния масив с 5 знака надясно
- }
- }
- void Indeks(int n, int m, int mas[20][20]) // дефиниране на процедура за намиране на индексите, чиято стойност съвпада с "x", с 3 цели формални параметъра, един от тях е двумерен масив с размерност 20 по 20
- {
- int x; // деклариране на цяла променлива
- cout << "x = "; // извеждане на текст
- cin >> x; // въвеждане на стойност
- cout << "\n"; // нов ред
- for (int i = 0; i < n; i++) // обхождане на редовете
- for (int j = 0; j < m; j++) // обхождане на колоните
- if (mas[i][j] == x) // проверка дали стойносттите на дадените елементи на двумерния масив съвпадат с тази на цялата променлива
- cout << "ред " << i + 1 << ", колона " << j + 1 << "." << "\n"; // извеждане на текст, който уточнява на кой ред и колона стойността съвпада
- }
- int main() // главна функция
- {
- setlocale(LC_ALL, "Bulgarian"); // функция, която задава на програмата да използва български език от системата
- int M[20][20], Mr[20], n, m; // деклариране на цял двумерен масив с размерност 20 по 20, цял едномерен масив с размерност 20 и 2 цели променливи
- cout << "Въведи брой редове от 1 до 20." << "\n";
- cin >> n; // въвеждане на стойност за редовете
- cout << "\n"; // нов ред
- cout << "Въведи брой колони от 1 до 20." << "\n";
- cin >> m; // въвеждане на стойност за колоните
- cout << "\n"; // нов ред
- vavedi(n, m, M); // извикване на процедурата за въвеждане
- cout << "\n"; // нов ред
- izvedi(n, m, M); // извикване на процедурата за извеждане
- cout << "\n" << "\n"; // 2 нови реда
- cout << "*****************************************************" << "\n" << "\n";
- cout << "Извеждане на масива над главния диагонал." << "\n";
- for (int i = 0; i < n; i++) // обхождане на редовете
- {
- for (int j = 0; j < m; j++) // обхождане на колоните
- if (j < i) // проверка дали индекс "j" е по-малък от "i"
- cout << " "; // извеждане на празен ред
- else
- cout << setw(5) << M[i][j]; // извеждане на елементите на двумерния масив с 5 знака надясно
- cout << "\n"; // нов ред
- }
- cout << "Изчисляване на средно аритметично на елементите по главния диагонал." << "\n";
- cout << "Средното е " << sredno(n, m, M) << "." << "\n" << "\n"; // извикване на функцията за средно аритметично
- cout << "*****************************************************" << "\n" << "\n";
- cout << "Намиране на броя четните елемнти над главния диагонал." << "\n";
- cout << "Броят е " << Br(n, m, M) << "." << "\n" << "\n"; // извикване на функцията за броя четни елементи
- cout << "*****************************************************" << "\n" << "\n";
- cout << "Намиране на максималната стойност по редове." << "\n";
- Maksimalno(n, m, M); // извикване на процедурата за намиране на елемент с най-голяма стойност на ред
- cout << "\n" << "\n"; // 2 нови реда
- cout << "*****************************************************" << "\n" << "\n";
- cout << "Извеждане на индексите, чиято стойност съвпада с тази на числото \"x\"." << "\n";
- Indeks(n, m, M); // извикване на процедурата за намиране на индексите, чиято стойност съвпада с "x"
- return 0; // край на програмата
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement