Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <string>
- using namespace std;
- // Broi na trapecite, koito shte se vuvejdat
- const int N = 3;
- // Strukturata za Trapec
- struct Trapec
- {
- double a, b;
- double h;
- };
- // Namira ploshta na Trapec po podadeni strani 'a' i 'b' i visochina 'h'
- double findArea(double a, double b, double h)
- {
- double S = ((a + b) / 2) * h;
- return S;
- }
- // Namira elementa s nai-golqma plosht i vrushta negoviqt index
- int findGreatestArea(double areas[])
- {
- int greatestAreaIndex = 0;
- for (int i = 0; i < N; i++)
- {
- if (areas[greatestAreaIndex] < areas[i])
- {
- greatestAreaIndex = i;
- }
- }
- return greatestAreaIndex;
- }
- // Otpechatva krainiqt rezultat
- void printResult(Trapec trapeci[], double areas[], int greatestAreaIndex)
- {
- cout << "### Rezultati ###\n";
- cout << "-> Trapeca s nai-golqma plosht e s index[" << greatestAreaIndex
- << "] i tq e `S = " << areas[greatestAreaIndex] << "`\n\n";
- for (int i = 0; i < N; i++)
- {
- cout << "# Trapec[" << i << "]\n";
- cout << "Strana `a` = " << trapeci[i].a << "\n";
- cout << "Strana `b` = " << trapeci[i].b << "\n";
- cout << "Visochina `h` = " << trapeci[i].h << "\n";
- cout << "Lice `S` = " << areas[i] << "\n\n";
- }
- }
- // Otpechatva suobshteniqta za greshka i zatvarq konzolata
- void printError(string errorMessage)
- {
- cout << "ERROR: " << errorMessage << "\n";
- system("PAUSE");
- exit(EXIT_FAILURE);
- }
- int main()
- {
- Trapec trapeci[N]; // Masiv ot trapeci
- double areas[N]; // Masiv za ploshtite na trapecite
- for (int i = 0; i < N; i++)
- {
- cout << "Trapec[" << i << "]:\n";
- double a;
- cout << "Strana `a` = ";
- cin >> a;
- if (!cin) printError("Molq vuvedete chislo za stranata `a`!");
- if (a <= 0) printError("Vuvedete polojitelno chislo za `a`!");
- double b;
- cout << "Strana `b` = ";
- cin >> b;
- if (!cin) printError("Molq vuvedete chislo za stranata `b`!");
- if (b <= 0) printError("Vuvedete polojitelno chislo za `b`!");
- double h;
- cout << "Visochina `h` = ";
- cin >> h;
- if (!cin) printError("Molq vuvedete chislo za visochinata `h`!");
- if (h <= 0) printError("Vuvedete polojitelno chislo za `h`!");
- // Prisvoqva vuvedenite stoinosti kum tekushtiq element ot masiva
- trapeci[i].a = a;
- trapeci[i].b = b;
- trapeci[i].h = h;
- // Vzema ploshta na tekushtiq vuveden trapec i q zapazva v masiva
- areas[i] = findArea(a, b, h);
- cout << "\n";
- }
- cout << "==================================================\n\n";
- int greatestAreaIndex = findGreatestArea(areas);
- printResult(trapeci, areas, greatestAreaIndex); // Otpechatva krainiqt rezultat
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement