УНИВЕРСИТЕТ ПО АРХИТЕКТУРА, СТРОИТЕЛСТВО и ГЕОДЕЗИЯ
КАТЕДРА „АВТОМАТИЗАЦИЯ НА ИНЖЕНЕРНИЯ ТРУД”
__________________________________________________________________________________________
КУРСОВА ЗАДАЧА
по ПИИС
на Иван Петров Иванов
студент от специалност ССС, I курс,
задочно обучение, ф. № 11223
Дата: ..................... Проверил: ...................
/гл. ас. арх. Стоянка Иванова/
САМО ЗА ЗАДОЧНО ОБУЧЕНИЕ!!!
Условие:
Дадени са едномерните масиви А(M) и B(M), съставени от реални елементи, записани в текстов файл.
Намерете и изведете средното аритметично от минимума на масив А и максимума на масив В.
// Първи етап – цялата задача в главна функция
#include
const Nmax=50;
float A[Nmax], B[Nmax];
int M;
void main () { // главна функция
int i;
// въвеждаме брой елементи
do {
cout<<"Брой елементи М="; cin>>M;
}
while (M<2 || M>Nmax);
// въвеждаме елементите на масив А
for (i=0; i
cout<<"A["<>A[i];
}
// въвеждаме елементите на масив В
for (i=0; i
cout<<"B["<>B[i];
}
float Max, Min;
// търсим минимума на масив A
Min=A[0];
for (i=0; i
if (Min > A[i]) Min=A[i];
cout<<"Min(A) = "<
// търсим максимума на масив B
Max=B[0];
for (i=0; i
if (Max < B[i]) Max=B[i];
cout<<"Max(B) = "<
// извеждаме резултата
cout<<"Средното аритметично на минимума и максимума е "<<(Max+Min)/2<
}
// Втори етап – използване на функции
#include
const Nmax=50;
float A[Nmax], B[Nmax];
int M;
int Input_N(char prompt[30], int Min, int Max) {
// функция за въвеждане на брой редове или брой стълбове в зададен диапазон
int N;
do {
cout <
>N;
}
while (NMax);
return N;
}
void Input_Array(char name, int N, float A[Nmax]) {
// функция за въвеждане на едномерен масив от клавиатура
for (int i=0; i
cout<>A[i];
}
}
float Max_Array(int N, float A[Nmax]) {
// функцията търси максимума на масив А
float Max;
Max=A[0];
for (int i=0; i
if (Max < A[i]) Max=A[i];
return Max;
}
float Min_Array(int N, float A[Nmax]) {
// функцията търси минимума на масив А
float Min;
Min=A[0];
for (int i=0; i
if (Min > A[i]) Min=A[i];
return Min;
}
void main () { // главна функция, вика останалите функции
// въвеждаме входните данни
M=Input_N("Брой елементи М=", 2, Nmax); // въвежда брой елементи
Input_Array('A', M, A); // въвежда масив A от клавиатурата
Input_Array('B', M, B); // въвежда масив B от клавиатурата
// търсим минимум и максимум
float Min, Max;
Min=Min_Array(M,A); // търсим минимума на масив А
cout<<"Min(A) = "<
Max=Max_Array(M,B); // търсим максимума на масив В
cout<<"Max(B) = "<
// извеждаме резултата
cout<<"Средното аритметично на минимума и максимума е "<<(Max+Min)/2<
}
// Трети етап – използване на функции и файлове
#include
const Nmax=50;
float A[Nmax], B[Nmax];
int M;
void Load_Arrays(char fname[30], int &M, float A[Nmax], float B[Nmax]) {
// функцията чете два едномерни масива от файл
ifstream fin(fname,ios::in);
fin>>M;
for (int i=0; i
fin>>A[i]>>B[i];
fin.close();
}
void Write_Array(char name[30], int M, float A[Nmax]) {
// функцията извежда матрица на екрана
cout<<"Array "<
for (int i=0; i
cout<
cout<
}
float Max_Array(int N, float A[Nmax]) {
// функцията търси максимума на масив А
float Max;
Max=A[0];
for (int i=0; i
if (Max < A[i]) Max=A[i];
return Max;
}
float Min_Array(int N, float A[Nmax]) {
// функцията търси минимума на масив А
float Min;
Min=A[0];
for (int i=0; i
if (Min > A[i]) Min=A[i];
return Min;
}
void main () { // главна функция, вика останалите функции
// въвеждаме входните данни
Load_Array("d:\\arrays.txt", M, A, B); // чете масиви от файл
// търсим минимум и максимум
float Min, Max;
Min=Min_Array(M,A); // търсим минимума на масив А
cout<<"Min(A) = "<
Max=Max_Array(M,B); // търсим максимума на масив В
cout<<"Max(B) = "<
// извеждаме резултата
cout<<"Средното аритметично на минимума и максимума е "<<(Max+Min)/2<
}
Файл с входни данни: d:\arrays.txt
4
4 2
1 4
5 9
7 0
Резултати:
Min(A) = 1
Max(B) = 9
Средното аритметично на минимума и максимума е 5
2>
Сподели с приятели: |