Untitled
unknown
c_cpp
2 years ago
2.0 kB
2
Indexable
Never
#include <iostream> using namespace std; void func1(float *mass, int &peri, int &posi, float &s, float &k){ //ф-ия для среднего арифметического// for (int i=0; i<10; i++){ if (mass[i]==0){ peri=i; break; } } for (int i=9; i>=0; i--){ if (mass[i]==0){ posi=i; break; } } for (int i=0; i<peri; i++){ s+=mass[i]; k+=1; } for (int i = posi+1; i<10; i++){ s+=mass[i]; k+=1; } } void func2(float *mass, float &max, float &min, int &maxi, int &mini){ //ф-ия для перемены минимальных и максимальных// for (int i=0; i<10; i++){ if (mass[i]>max){ max=mass[i]; maxi=i; } if (mass[i]<min){ min=mass[i]; mini=i; } } } int main(){ bool proverka_na_nol = false; float *arr = new float[10]; for (int i=0; i<10; i++){ cout<<"arr["<<i<<"] = "; cin>>arr[i]; } for (int i=0; i<10; i++){ if (arr[i] == 0){ proverka_na_nol = true; } } if (proverka_na_nol) { int peri, posi, maxi, mini = 0; float s, k = 0, max, min = arr[0]; func1(arr, peri, posi, s, k); func2(arr, max, min, maxi, mini); cout<<"s = "<<s<<" , k = "<<k<<" ,ср.ар. = "<<s/k<<endl; cout<<"max = "<<max<<" maxi = "<<maxi; cout<<" min = "<<min<<" mini = "<<mini<<endl; float c; c=arr[0]; arr[0]=max; arr[maxi]=c; c=arr[9]; arr[9]=min; arr[mini]=c; for(int i = 0; i<10; i++){ cout<<"arr["<<i<<"] = "<<arr[i]<<endl; } delete []arr; } else { cout << "В массиве не обнаружен ноль.\nКОНЕЦ!!!"; } return 0; }