Написать программу на с++. дана целочисленная квадратная матрица произвольной размерности. сформировать одномерный массив, в который поместить элементы двумерной матрицы, находящиеся над побочной диагонали; упорядочить
их по возрастанию и найти их среднее арифметическое.
Ответы на вопрос:
//на vs 2010 решается так, в других средах разработки может нужно к заголовкам добавить .h или убрать подключение пространства имен std : (console application)
#include < iostream> #include < stdlib.h> #include < time.h> #include < conio.h> using namespace std; void print(int m, int ** matr) // функция печати матрицы на экран{ for(int i = 0; i< m; i++) { for(int j = 0; j< m; j++) { cout.width(4); cout< < matr[i][j]; } cout< < endl; }}void search_and_print(int x, int **m) //функция поиска элементов с их сортировкой и выводом на экран{ int razmer = ((x*x) - x)/2; int *mas = new int [razmer]; int y = x - 1; float srednee = 0; int index = 0; for (int j = 0; j< y; j++) { for(int i = 0; i< (x-1); i++ ) { mas[index] = m[i][j]; index++; } y--; } for(int i = 0; i< (razmer-1); i++) //сортировка методом выбора. x-1 раз ищем наименьший элемент. { //принимаем за наименьший первый элемент из расматриваемых: int min = i; //поиск минимального элемента из : for(int j = i+1; j< razmer; j++) { //если нашли меньший элемент, запминаем его номер: if(mas[j]< mas[min]) min = j; } //обмен элементов: int a = mas[i]; mas[i] = mas[min]; mas[min] = a; } cout< < "\nuporyado4enniy massiv: \n"; //вывод и суммирование элементов отсортированного массива для среднего for(int i = 0; i< razmer; i++) { cout< < mas[i]< < ends; srednee += mas[i]; } //поиск арифметичесгоко реднего} srednee = srednee/razmer; cout< < "\nsrednee: "< < srednee; delete [] mas; }void main(){srand ((unsigned)time(null)); int x; cout< < "vveditrazmer matritsi po gorizontaly i po vertikaly: \n"; cin> > x; int** matr; matr = new int* [x]; //безопасный способ for(int i = 0; i< x; i++) // динамического { matr[i] = new int[x]; // двумерного массива. for(int j =0; j< x; j++) //заполняем матрицу { matr[i][j] = rand()%10-5; } //числами от -5 до 5 } cout< < "ishodnaya matritsa: \n"; print(x,matr); search_and_print(x,matr); _getch(); delete [] matr; }
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
DetasGames26.09.2021 20:01
-
sonka1001p0arxp15.09.2022 04:06
-
mariberrr04.06.2020 20:45
-
KatarinaDip26.09.2022 21:21
-
miraaa37225.01.2023 07:08
-
lushnikov200415.02.2020 11:05
-
Меруерт99924.07.2020 09:02
-
Shkolяr07.03.2020 17:38
-
Dima004427.08.2021 00:09
-
21Алина11112.01.2021 08:47
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.