Facebook
From Aqua Duck, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 255
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. using namespace std;
  6.  
  7. int numberOfElements = 0;
  8.  
  9. double* createVector(int N) {
  10.     return new double[N];
  11. }
  12.  
  13. void DeleteVector(double* &v) {
  14.     delete[] v;
  15.     v = NULL;
  16. }
  17.  
  18. double** createMatrix(int M, int N) {
  19.     double** T = new double* [N];
  20.     for (int i = 0;i < M;++i) {
  21.         T[i] = new double[N];
  22.     }
  23.     return T;
  24. }
  25.  
  26. void DeleteMatrix(int M, int N, double** &T) {
  27.     for(int i = N;i < M;++i) {
  28.         delete[] T[i];
  29.     }
  30.     delete[] T;
  31.     T = NULL;
  32. }
  33.  
  34. void writeTab(int N, double* T) {
  35.     printf("%.2f", T[0]);
  36.     for (int i = 1;i < N;++i) {
  37.         printf("\t%.2f", T[i]);
  38.     }
  39.     printf("\n");
  40. }
  41.  
  42. void writeTab(int M, int N, double** T) {
  43.     for (int i = 0; i < M; ++i) {
  44.         writeTab(N, T[i]);
  45.     }
  46. }
  47.  
  48. void getElements(double elem) {
  49.     if (elem > 0.5) numberOfElements++;
  50. }
  51.  
  52.  
  53. void RandomTab(int N, double* T) {
  54.     for (int i = 0; i < N; ++i) {
  55.         T[i] = (rand() % 1001) / 1000.0;
  56.         getElements(T[i]);
  57.     }
  58. }
  59. void RandomTab(int M, int N, double** T) {
  60.     for (int i = 0;i < M;++i) {
  61.         RandomTab(N, T[i]);
  62.     }
  63. }
  64.  
  65.  
  66.  
  67.  
  68. int main()
  69. {
  70. //    double* V1 = createVector(10);
  71. //    RandomTab(10, V1);
  72. //    writeTab(10, V1);
  73.  
  74.     double** V2 = createMatrix(6,6);
  75.     RandomTab(6,6, V2);
  76.     writeTab(6,6,V2);
  77.  
  78.     printf("%d", numberOfElements);
  79.  
  80.  
  81.     DeleteMatrix(6,6,V2);
  82. }
  83.