Добавил:
Kolobok
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <iostream.h>
#include <conio.h>
#include <math.h>
//Prototup funkcii Proverki chisla na udovletvorenie usloviyam vvoda
float pravilniy_vvod_chisla (float );
//Prototip funkcii Zapolneniya massiva znacheniyami
void zapolnenie_massiva (float[],float);
//Prototip funkcii poiska minimal'nogo elementa massiva
float minimum(float[],float);
//Prototip funkcii zameni elementov massiva na ih raznost' s minimal'nim elementom
void zamena (float*,float);
//Prototip funkcii vivoda resul'tatov na display
void vivod_na_display(float [],float);
void main()
{
clrscr();
const int size=100;//razmer massiva
float n,arr[size];
float *Arr=&arr[0];//ukazatel' na pervii element massiva
cout<<"Zadayte kol-vo elementov massiva"<<endl;
n=pravilniy_vvod_chisla (n);
zapolnenie_massiva(arr,n);
cout << endl<<"Minimal'nii element = " << minimum (Arr,n) << "\n";
zamena (Arr,n);
cout<<endl<<"Posle togo kak iz kajdogo elementa vichest' min elementi massiva budut prinimat'sleduyuschue znacheniya:"<<endl;
vivod_na_display(arr,n);
getch();
}
//Funkciya Proverki chisla na udovletvorenie usloviyam vvoda
float pravilniy_vvod_chisla (float n)
{
do
{
cout<<"\nn= ";
cin>>n;
if (n!=(int)n) cerr<<"\aError!!! Vvedennoe vami chislo ne yavlyetsya celim,pojaluysta povtorite vvod";
if (n<=0) cerr<<"\aError!!! Chislo elementov massiva dolno bit' >=1 ";
}
while ((n<=0)||(n!=(int)n));
return n;
}
//Funkciya Zapolneniya massiva znacheniyami
void zapolnenie_massiva (float arr[],float n)
{
cout<<"Vvedite znacheniya elementov massiva"<<endl;
for(int i=0;i<=(n-1);++i)
{ cout<<"massive["<<i<<"]=";
cin>>arr[i];
};
}
//Funkciya poiska minimal'nogo elementa massiva
float minimum (float *Arr,float n)
{
float min=*Arr;
for(int i=0;i<=(n-1);++i,++Arr)
{
if (*Arr<min) min=*Arr;
};
return min;
}
// Funkciya zameni elementov massiva na ih raznost' s minimal'nim elementom
void zamena (float *Arr,float n)
{
float min=minimum(Arr,n);
for(int i=0; i<=(n-1); i++)
{
*Arr = *Arr - min;
Arr++;
};
}
//Funkciya vivoda resul'tatov na display
void vivod_na_display (float arr[],float n)
{
for(int i=0;i<=(n-1);++i){cout<<"massive["<<i<<"]="<<arr[i]<<endl; };
}