E
ermackprogramis
C++:
#include <iostream>
#include <string.h>
#include <time.h>
#include <stdlib.h>
using namespace std;
//обьявление переменных
int n,m;
float mas[10][15];
int maxel,imax,jmax,minel,imin,jmin;
// функция ввода элементов
void input()
{
//cout<<"enter number of the components the array "<<endl;
cout<<"Input number of rows"<<endl;
cin>>n; //ввести количество рядков массива
cout<<"Input number of columns"<<endl;
cin>>m;
//инициализация генератора псевдослучайных чисел
srand((unsigned)(time(NULL)));
for(int i=0;i<n;i++) //генерировать массив
for(int j=0;j<m;j++)
mas[i][j]=rand()%20;
}
// вывод сгенерированого массива
void output1()
{
for(int i=0;i<n;i++) //вывести массив
{
for(int j=0;j<m;j++)
{
cout<<mas[i][j]<<' ';
}
cout<<endl;
}
}
//поиск максимального и минимального элемента
void finding()
{
//====================================
maxel=mas[0][0]; //начальное значение максимального элемента
jmax=0;
imax=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if (maxel<mas[i][j])
{
maxel=mas[i][j]; //запомнить максимальный элемент и его индексы
imax=i;
jmax=j;
}
//====================================
minel=mas[0][0]; //начальное значение минимального элемента
jmin=0;
imin=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if (minel>mas[i][j])
{
minel=mas[i][j]; //запомнить минимальный элемент и его индексы
imin=i;
jmin=j;
}
(minel+maxel)/2;
}
// перестановка максимального и минимального элемента местами
void replace()
{
float tmp=mas[10][15];
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
tmp=mas[imin][jmin];
mas[imin][jmin]=mas[imax][jmax];
mas[imax][jmax]=tmp;
}
}
}
//вывод массива после перестановки элементов
void output2()
{
puts("========================");
cout<<"Max element = "<<maxel<<endl;
cout<<" It's index "<<imax+1<<" "<<jmax+1<<endl;
puts("========================");
cout<<"Min element = "<<minel<<endl;
cout<<" It's index "<<imin+1<<" "<<jmin+1<<endl;
puts("========================");
cout<<"Sum = "<<(float)(minel+maxel)/2<<endl; // среднее арифметическое максимального и минимального элементов
cout<<endl;
for(int i=0;i<n;i++) //вывести массив
{
for(int j=0;j<m;j++)
{
cout<<mas[i][j]<<' ';
}
cout<<endl;
}
}
int main()
{
input();
output1();
finding();
replace();
output2();
system("pause");
}
И еще такой вопрос как сделать что бы выводило все минимальные и максимальные элементы.Я пробовал, но ничего не выйшло.