Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <stdlib.h>
  4. #include <cstdlib>
  5. #include <math.h>
  6.  
  7. using namespace std;
  8.  
  9. typedef struct osoba {
  10. char nazwisko[50];
  11. int plec;
  12. int wiek;
  13. }osoba;
  14.  
  15. typedef struct najSred {
  16. char nazw[50];
  17. float roz;
  18. }najSred;
  19.  
  20. float funkcja(osoba tab[],int rozmiar){
  21. float a=0, wynik;
  22. for(int i=0; i<rozmiar; i++){
  23. a += tab[i].wiek;
  24. }
  25. wynik = a/rozmiar;
  26. return wynik;
  27. }
  28.  
  29. int main(){
  30. int rozmiar;
  31. cout << "Ile chcesz osob? (min 3)" << endl;
  32. cout << "osoby[]: ";
  33. cin >> rozmiar;
  34. while(rozmiar < 3){
  35. cout << "Minimum 3 (trzy) osoby: ";
  36. cin >> rozmiar;
  37. }
  38. osoba tab[rozmiar];
  39. najSred tab2[rozmiar];
  40. cout << endl;
  41. for (int i = 0; i<rozmiar; i++){
  42. cout << "Podaj nazwisko " << "#" << i+1 << endl;
  43. cin >> tab[i].nazwisko;
  44. cout << "Podaj plec 0-Kobieta | 1-Mezczyzna " << "#" << i+1 << endl;
  45. cout << "[0/1]: ";
  46. cin >> tab[i].plec;
  47. cout << "Podaj wiek " << "#" << i+1 << endl;
  48. cin >> tab[i].wiek;
  49. cout << endl;
  50. }
  51.  
  52.  
  53. float srednia = funkcja(tab, rozmiar);
  54. cout << "Srednia wieku wynosi: " << srednia << endl;
  55. float roznica, minimum = srednia;
  56. int najblizszy;
  57. char* os[50];
  58.  
  59. for(int i = 0; i<rozmiar; i++){
  60.  
  61. roznica = tab[i].wiek - srednia;
  62. if(roznica < 0){
  63. roznica *= -1;
  64. }
  65. if(roznica < minimum){
  66. najblizszy = i;
  67. minimum = roznica;
  68. }
  69. os = tab[i].nazwisko;
  70. tab2[i].nazw = os;
  71. tab2[i].roz = roznica;
  72. }
  73. //cout << tab[najblizszy].nazwisko << " jest blizej sredniej" << endl;
  74. for(int i = 0; i<rozmiar; i++){
  75. if(tab2[i].roz == minimum){
  76. cout << tab2[i].nazw << " jest blizej sredniej" << endl;
  77. }
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement