Результаты выполнения программы
2. Ввести массив А(N). Найти максимальный элемент массива. Нечетные элементы массива разделить на максимальный элемент. Вывести полученный массив.
Текст программы
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
void inp_arr(float *a, int na);//ввод массива с консоли
void out_arr(float *a, int na);//вывод массива на консоль
int imax(float *a, int na);//поиск индекса максимального элемента
int main()
{
setlocale(0, ""); // поддержка кириллицы
int N;
cout<<"Ввести размер массива: ";cin>>N;
float *A= new float [N]; // динамический массив
inp_arr(A,N);//инициализация массива с консоли
cout << "Дан массив" << endl;
out_arr(A,N);// вывод массива
int im=imax(A,N);// im - интдекс максимального элемента
float m=A[im];
// изменяем исходный массив
for(int i=0;i<N;i++)
if (fmod(A[i],2)!=0)
A[i]/=m;
// Вывод результатов
cout << "максимальный элемент А[" << im+1 << "]= " << m << endl << endl;
cout << "Преобразованный массив" << endl;
out_arr(A,N);// вывод массива
system("pause");
return 0;
}
// ввод элементов массива
|
|
void inp_arr(float *a, int na)
{
cout << "Ввести " << na << " элементов массива" << endl;
for(int i=0;i<na;i++)
{cout << i+1 <<':'; cin >> a[i];}
cout << endl;
return;
}
// вывод элементов массива
void out_arr(float *a, int na)
{
for(int i=0;i<na;i++)
cout << "\t" << a[i];
cout << endl<<endl;
return;
}
// поиск индекса максимального элемента
int imax(float *a, int na)
{
float m=a[0]; int im=0;
for(int i=1;i<na;i++)
if (m<a[i]) {m=a[i];im=i;}
return im;
}