fork download
  1. //
  2. // Zadanie 3.1.7.
  3. // Napisz procedurę, której argumentami są dwie tablice typu double
  4. // o tej samej długości, zapisującą do pierwszej z nich sumę kolejnych
  5. // elementów obu tablic. Napisz program demonstrujący działanie procedury.
  6. //
  7.  
  8. #include <iostream>
  9.  
  10. using namespace std;
  11.  
  12. // Procedury (w odróżnieniu od funkcji) nie zwracają wartości, czyli są
  13. // typu void. Procedura otrzymuje wskaźniki na obie tablice (przy czym zapisy
  14. // double *x oraz double x[] są równoważne) oraz ich wspólny rozmiar.
  15. void proc(double *v1, double *v2, int sz)
  16. {
  17. for (int i = 0; i < sz; i++) v1[i] += v2[i];
  18.  
  19. return;
  20. }
  21.  
  22. int main()
  23. {
  24. int size = 16;
  25. double *t1 = new double[size];
  26. double *t2 = new double[size];
  27.  
  28. // Wypełnienie pierwszej tablicy wartościami 2*n (na przykład)
  29. for (int i = 0; i < size; i++) t1[i] = 2 * i;
  30.  
  31. // Wypełnienie drugiej tablicy wartościami n+1 (na przykład)
  32. for (int i = 0; i < size; i++) t2[i] = i + 1;
  33.  
  34. // Wypisanie elementów pierwszej tablicy
  35. cout << "t1 = [";
  36. for (int i = 0; i < size - 1; i++) cout << t1[i] << ", ";
  37. cout << t1[size - 1] << "]" << endl;
  38.  
  39. // Wypisanie elementów drugiej tablicy
  40. cout << "t2 = [";
  41. for (int i = 0; i < size - 1; i++) cout << t2[i] << ", ";
  42. cout << t2[size - 1] << "]" << endl;
  43.  
  44. // Wywołanie procedury
  45. cout << "proc(t1, t2, " << size << ")" << endl;
  46. proc(t1, t2, size);
  47.  
  48. // Ponowne wypisanie elementów pierwszej tablicy
  49. cout << "t1 = [";
  50. for (int i = 0; i < size - 1; i++) cout << t1[i] << ", ";
  51. cout << t1[size - 1] << "]" << endl;
  52.  
  53. // Ponowne wypisanie elementów drugiej tablicy
  54. cout << "t2 = [";
  55. for (int i = 0; i < size - 1; i++) cout << t2[i] << ", ";
  56. cout << t2[size - 1] << "]" << endl;
  57.  
  58. // Zwolnienie pamięci
  59. delete[] t1;
  60. delete[] t2;
  61.  
  62. return 0;
  63. }
  64.  
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
t1 = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
t2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
proc(t1, t2, 16)
t1 = [1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46]
t2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]