Advertisement
Guest User

Zadanie 2 C++

a guest
Nov 21st, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.61 KB | None | 0 0
  1. // Poprawka(2).cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
  2. //
  3. // g++ main.cpp -W -Wall -pedantic -O3 -o nazwa_pliku
  4.  
  5. #include "pch.h"
  6. #include <iostream>
  7. #include <ctime>
  8. #include <cstdlib>
  9.  
  10. using namespace std;
  11.  
  12. struct Trojkat
  13. {
  14.     double x1, x2, x3, y1, y2, y3;
  15. };
  16.  
  17. double obliczObwod(Trojkat * tab, int i)
  18. {
  19.     double a, b, c;
  20.     a = sqrt(abs((tab[i].x2 - tab[i].x1) * (tab[i].x2 - tab[i].x1) + (tab[i].y2 - tab[i].y1) * (tab[i].y2 - tab[i].y1)));
  21.     b = sqrt(abs((tab[i].x3 - tab[i].x2) * (tab[i].x3 - tab[i].x2) + (tab[i].y3 - tab[i].y2) * (tab[i].y3 - tab[i].y2)));
  22.     c = sqrt(abs((tab[i].x3 - tab[i].x1) * (tab[i].x3 - tab[i].x1) + (tab[i].y3 - tab[i].y1) * (tab[i].y3 - tab[i].y1)));
  23.  
  24.     return a + b + c;
  25. }
  26.  
  27.  
  28. void wyswietl(Trojkat * tab)
  29. {
  30.     int liczba=0;
  31.     for (size_t i = 0; i < 100; i++)
  32.     {
  33.         if (obliczObwod(tab, i) > 200 && obliczObwod(tab, i) < 250)
  34.         {
  35.             cout << "Trojkat " << i + 1 << "/100 posiada obwod " << obliczObwod(tab, i) << endl;
  36.             liczba++;
  37.         }
  38.     }
  39.     cout << "Ilosc trojkatow z obwodem w danym zakresie : " << liczba << endl;
  40. }
  41.  
  42. int main()
  43. {
  44.     double min = 25.0;
  45.     double max = 100.0;
  46.     Trojkat * tab = new Trojkat[100];
  47.  
  48.     srand(time(NULL));
  49.  
  50.     for (size_t i = 0; i < 100; i++)
  51.     {
  52.         tab[i].x1 = rand() * (max - min) / RAND_MAX + min;
  53.         tab[i].x2 = rand() * (max - min) / RAND_MAX + min;
  54.         tab[i].x3 = rand() * (max - min) / RAND_MAX + min;
  55.  
  56.         tab[i].y1 = rand() * (max - min) / RAND_MAX + min;
  57.         tab[i].y2 = rand() * (max - min) / RAND_MAX + min;
  58.         tab[i].y3 = rand() * (max - min) / RAND_MAX + min;
  59.     }
  60.  
  61.     wyswietl(tab);
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement