Главная Обратная связь

Дисциплины:






Описание переменных



 

Идентификатор переменной Тип данных Функция, выполняемая в программе
определение ключевое слово
N целый int Размер массива
n целый int Индекс текущего элемента массива
A[n] вещественный float Элемент массива
I_max целый int Индекс максимального элемента массива
I_min целый int Индекс минимального элемента массива
fmax логический bool Флаг поднимается (становится равным 1) , если встретится элемент, значение которого равно максимальному значению
fmin логический boo Флаг поднимается (становится равным 1) , если встретится элемент, значение которого равно минимальному значению
f3 целый int Флаг равен -1, если вычисление суммы начинается с элемента, равного минимальному значению, равен +1, если вычисление суммы начинается с элемента, равного максимальному значению,
S вещественный float Сумма элементов массива

 


Алгоритм решения задачи

 

 

 

 
 

 

 

 
 

 


Листинг программы

//-----------------------------------------------------------------------------------------------------

#pragma hdrstop

//-----------------------------------------------------------------------------------------------------

#include <conio.h> //библиотека подключения функции getch()

#include <iostream.h> //библиотека для cin и cout

#include <malloc.h> //библиотека для динамического выделения памяти

#include <fstream.h> //библиотека для ввода/вывода в файл

#include <windows.h> //библиотека используется в функции RUS

#include <math.h> //библиотека математических функций

#include <ctype.h> // библиотека проверки принадлежности символов

#include <stdlib.h> // библиотека некоторых стандартных функций

#include <string.h> // библиотека функций работы со строками

//

char bufRus[256];

//-----------------------------------------------------------------------------------------------------

char* RUS(const char*text) //функция поддержки русского языка

{

CharToOem(text,bufRus);

return bufRus;

}

//-----------------------------------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

//-------- описание переменных ---------------------------------------------------------------

const int N=10;

int n, I_max=0, I_min=0, f3=0;

float A[N], S=0;



bool fmax=0, fmin=0;

//--------- ввод массива -------------------------------------------------------------------------

cout<<RUS("\nВведите массив из ")<<N;

cout<<RUS("элементов\n");

for(n=0; n<N; n++)

{

cout<<RUS("\nВведите A[ ")<<n<<" ] = ";

cin>>A[n];

}

//---------- поиск индексов минимального и максимального элементов -------------

for(n=1; n<N; n++)

{

if( A[n]<A[I_min])

I_min=n;

if( A[n]>A[I_max])

I_max=n;

}

//-------------вычисление суммы между минимумом и максимумом ------------------

if(A[I_min]!=A[I_max])

{

for(n=0; n<N; n++)

{ if(A[n]==A[I_min])

{

fmin=1;

cout<<RUS("\nИндекс минимального элемента массива = ")<<n;

}

if(A[n]==A[I_max])

{

fmax=1;

cout<<RUS("\nИндекс максимального элемента массива = ")<<n;

}

if(fmin==1&&fmax==0)

{ S+=A[n]; f3=-1;}

if(fmin==1&&fmax==1&&f3==-1)

{S-=A[I_min];

cout<<RUS("\nСумма элементов между минимумом и максимумом = ")<<S;

S=0;

f3=0;

fmin=0;

fmax=0;

 

}

if(fmin==0&&fmax==1)

{S+=A[n];f3=1;}

if(fmin==1&&fmax==1&&f3==1)

{S-=A[I_max];

cout<<RUS("\nСумма элементов между максимумом и минимумом = ")<<S;

S=0;

f3=0;

fmin=0;

fmax=0;

}

}

 

if(f3==-1)

cout<<RUS("\nНет максимального элемента массива ");

if(f3==1)

cout<<RUS("\nНет минимального элемента массива ");

}

else

cout<<RUS("\nВсе элементы массива имеют одно значение");

//-----------------------------------------------------------------------------------------------------

cout<<RUS("\nНажмите любую клавишу для завершения программы \n");

getch();

return 0;

}

//---------------------------------------------------------------------------

 


 





sdamzavas.net - 2019 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...