Advertisement
MSlomiany

macierz_zespolona_1_21_05_2018[FUN][STR]

May 21st, 2018
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.58 KB | None | 0 0
  1. // macierz_zespolona_1_21_05_2018[FUN][STR].cpp: Określa punkt wejścia dla aplikacji konsoli.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "stdafx.h"
  6. #include <iostream>
  7. #include <iomanip>
  8. #include <string>
  9. using namespace std;
  10. typedef long double ld;
  11. const int W = 10;
  12. const int K = 10;
  13.  
  14. struct zespolona{
  15.     ld re;
  16.     ld im;
  17. };
  18.  
  19. void wczytaj_zesp(int m, int n, zespolona m1[][K], string name)
  20. {
  21.     string check;
  22.     int i, j;
  23.     for (i = 0; i < m; i++)
  24.     {
  25.         for (j = 0; j < n; j++)
  26.         {
  27.             cout << name << "[" << i + 1 << "][" << j + 1 << "].re = ";
  28.             cin >> m1[i][j].re;
  29.             cout << name << "[" << i + 1 << "][" << j + 1 << "].im = ";
  30.             cin >> m1[i][j].im;
  31.         }
  32.     }
  33.     cout << "Skończono wprowadzać, kliknij m aby przejść dalej" << endl;
  34.     do{
  35.         cin >> check;
  36.     } while (check != "m");
  37. }
  38.  
  39. void wypisz_zesp(int m, int n, zespolona m1[][K], string name)
  40. {
  41.     int i, j;
  42.     cout << "Macierz zespolona " << name << ": " << endl;
  43.     for (i = 0; i < m; i++)
  44.     {
  45.         for (j = 0; j < n; j++)
  46.         {
  47.             cout << fixed << setw(10) << setprecision(3) << m1[i][j].re << " + (" << m1[i][j].im << "i)" << " ";
  48.         }
  49.         cout << "\n";
  50.     }
  51. }
  52.  
  53. void suma_zesp(int n, zespolona m1[], string name, zespolona *suma)
  54. {
  55.     (*suma).re = 0;
  56.     (*suma).im = 0;
  57.     int i;
  58.     for (i = 0; i < n; i++)
  59.     {
  60.         (*suma).re += m1[i].re;
  61.         (*suma).im += m1[i].im;
  62.     }
  63. }
  64.  
  65. zespolona suma_zesp_r(int n, zespolona m1[], string name)
  66. {
  67.     zespolona suma;
  68.     suma.re = 0;
  69.     suma.im = 0;
  70.     int i;
  71.     for (i = 0; i < n; i++)
  72.     {
  73.         suma.re += m1[i].re;
  74.         suma.im += m1[i].im;
  75.     }
  76.     return suma;
  77. }
  78.  
  79. int main()
  80. {
  81.     setlocale(LC_ALL, "");
  82.     zespolona A[10][10];
  83.     string namea = "A";
  84.     zespolona suma;
  85.     int m, n, i;
  86.     //definiowanie ilości elementów macierzy
  87.     cout << "Podaj ilość wierszy macierzy " << namea << "(max. 10)" << endl;
  88.     do {
  89.         cin >> m;
  90.     } while (m <= 0 || m > 10);
  91.     cout << "Podaj ilość kolumn macierzy" << namea << "(max. 10)" << endl;
  92.     do {
  93.         cin >> n;
  94.     } while (n <= 0 || n > 10);
  95.     //wprowadzanie elementów
  96.     wczytaj_zesp(m, n, A, namea);
  97.     //wypisywanie elementów
  98.     wypisz_zesp(m, n, A, namea);
  99.     //sumowanie wierszy
  100.     cout << "Suma poszczególnych wierszy przez wskaźnik" << endl;
  101.     for (i = 0; i < m; i++)
  102.     {
  103.         suma_zesp(n, A[i], namea, &suma);
  104.         cout << "Wiersz " << i + 1 << " = " << suma.re << " + (" << suma.im << "i)" << endl;
  105.     }
  106.     //sumowanie wierszy - return
  107.     cout << "Suma poszczególnych wierszy przez return" << endl;
  108.     for (i = 0; i < m; i++)
  109.     {
  110.         suma = suma_zesp_r(n, A[i], namea);
  111.         cout << "Wiersz " << i + 1 << " = " << suma.re << " + (" << suma.im << "i)" << endl;
  112.     }
  113.     system("PAUSE");
  114.     return 0;
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement