Advertisement
Guest User

Untitled

a guest
Aug 27th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. //Napisac funcje ktora dla jakiejs tablicy rekordow o N wierszach i N kolumnach zawierajacych pola(imie,nazwisko,wiek)
  5. //zwraca poprzez parametry funkcji sredni oraz najnizszy wiek osob lezacych na obu przekatnych tablicy i zarazem o imieniu i
  6. //nazwisku zaczynajacym sie jakims znakiem.
  7. const int N=3;
  8. struct Dane{
  9. string imie;
  10. string nazwisko;
  11. int wiek;
  12. };
  13.  
  14. Dane **utworz ()
  15. {
  16. Dane **tab=new Dane *[N];
  17. for(int i=0;i<N;i++)
  18. {
  19. tab[i]=new Dane[N];
  20. }
  21. return tab;
  22. }
  23. void usun(Dane **tab)
  24. {
  25. for(int i=0;i<N;i++)
  26. {
  27. delete[]tab[i];
  28. }
  29. delete[]tab;
  30. }
  31. void funkcja(Dane **tab, double &srednia, int &min,char znak)
  32. {
  33. for(int i=0;i<N;i++)
  34. {
  35. for(int j=0;j<N;j++)
  36. {
  37. cin>>tab[i][j].imie;
  38. cin>>tab[i][j].nazwisko;
  39. cin>>tab[i][j].wiek;
  40. }
  41. }
  42. for(int i=0;i<N;i++)
  43. {
  44. for(int j=0;j<N;j++)
  45. {
  46. cout<<tab[i][j].imie<<' ';
  47. cout<<tab[i][j].nazwisko<<' ';
  48. cout<<tab[i][j].wiek<<' ';
  49. }
  50. cout<<endl;
  51. }
  52. double suma=0;
  53. srednia=0;
  54. int licznik=0;
  55. min=200; // zakladam ze nikt nie bedzie mial 200 lat...
  56.  
  57. for(int i=0;i<N;i++)
  58. {
  59. if(tab[i][i].imie[0]=='a' && tab[i][i].nazwisko[0]=='a')
  60. {
  61. if(tab[i][i].wiek<min)
  62. {
  63. min=tab[i][i].wiek;
  64. }
  65. suma=suma+tab[i][i].wiek;
  66. licznik++;
  67.  
  68. }
  69. if(tab[N-1-i][i].imie[0]=='a' && tab[N-1-i][i].nazwisko[0]=='a')
  70. {
  71. if(tab[N-1-i][i].wiek<min)
  72. {
  73. min=tab[N-1-i][i].wiek;
  74. }
  75. suma=suma+tab[N-1-i][i].wiek;
  76. licznik++;
  77. }
  78.  
  79.  
  80. }
  81.  
  82. int pom=N/2;
  83. cout<<suma;
  84. cout<<endl;
  85. cout<<licznik;
  86. cout<<endl;
  87. cout<<pom;
  88. cout<<endl;
  89. if(pom%2==0 )
  90. {
  91.  
  92. srednia=suma/licznik;
  93. }
  94. else
  95. {if(tab[pom][pom].imie[0]=='a' && tab[pom][pom].nazwisko[0]=='a'){
  96. suma=suma-tab[pom][pom].wiek;
  97. licznik-=1;
  98. srednia=suma/licznik;
  99. }
  100.  
  101. srednia=suma/licznik;}
  102.  
  103. cout<<"suma:"<<suma<<endl;
  104. cout<<"licznik:"<<licznik<<endl;
  105. cout<<"sredni wiek:"<<srednia<<endl;
  106. cout<<"najnizszy wiek:"<<min<<endl;
  107. cout<<endl;
  108.  
  109. }
  110.  
  111. int main()
  112. {
  113. Dane **tab=utworz();
  114. double srednia;
  115. int min;
  116. char znak='a';
  117. funkcja(tab,srednia,min,znak);
  118. usun(tab);
  119.  
  120.  
  121.  
  122. return 0;
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement