Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.78 KB | None | 0 0
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #include<time.h>
  4. #include <vector>
  5. #include <algorithm>
  6.  
  7. const int size = 10;
  8.  
  9. using namespace std;
  10.  
  11. vector<vector<double>> generateMatrix() {
  12.   vector<vector<double>> martix;
  13.   srand(time(NULL));
  14.   double randomNumber;
  15.  
  16.   for(int i=0;i<size;i++){
  17.     vector<double> row;
  18.     martix.push_back(row);
  19.     for(int j=0;j<size;j++){
  20.       if(i==j) {
  21.         randomNumber = ((double)rand() / RAND_MAX + 1);
  22.         martix[i].push_back(randomNumber);
  23.         printf("%lf ", randomNumber);
  24.       } else {
  25.         randomNumber = ((double)rand() / RAND_MAX);
  26.         martix[i].push_back(randomNumber);
  27.         printf("%lf ", randomNumber);
  28.       }
  29.     }
  30.     printf("\n");
  31.   }
  32.   return martix;
  33. }
  34.  
  35. vector<vector<double>> generateMatrixRow(int k) {
  36.   vector<vector<double>> martix;
  37.   srand(time(NULL));
  38.   double randomNumber;
  39.  
  40.   for(int i=0;i<size;i++){
  41.     vector<double> row;
  42.     martix.push_back(row);
  43.  
  44.     vector<double> randomIndexes; // indexes to put random number
  45.     for(int i=0; i<k; i++) {
  46.       randomIndexes.push_back(rand() % size + 1);
  47.     }
  48.  
  49.     for(int j=0;j<size;j++){
  50.       if(i==j) {
  51.         randomNumber = ((double)rand() / RAND_MAX + 1);
  52.         martix[i].push_back(randomNumber);
  53.         printf("%lf ", randomNumber);
  54.       } else {
  55.  
  56.         if(std::find(randomIndexes.begin(), randomIndexes.end(), j) != randomIndexes.end()) {
  57.           randomNumber = ((double)rand() / RAND_MAX);
  58.           martix[i].push_back(randomNumber);
  59.           printf("%lf ", randomNumber);
  60.         } else {
  61.           martix[i].push_back(0);
  62.           printf("%lf ", 0);
  63.         }
  64.       }
  65.     }
  66.     printf("\n");
  67.   }
  68.   return martix;
  69. }
  70.  
  71. vector<vector<double>> generateMatrixColumn(int k) {
  72.   vector<vector<double>> martix;
  73.   srand(time(NULL));
  74.   double randomNumber;
  75.  
  76.   for(int i=0;i<size;i++){
  77.     vector<double> row;
  78.     martix.push_back(row);
  79.  
  80.     vector<double> randomIndexes; // indexes to put random number
  81.     for(int i=0; i<k; i++) {
  82.       randomIndexes.push_back(rand() % size + 1);
  83.     }
  84.  
  85.     for(int j=0;j<size;j++){
  86.       if(i==j) {
  87.         randomNumber = ((double)rand() / RAND_MAX + 1);
  88.         martix[i].push_back(randomNumber);
  89.         printf("%lf ", randomNumber);
  90.       } else {
  91.  
  92.         if(std::find(randomIndexes.begin(), randomIndexes.end(), j) != randomIndexes.end()) {
  93.           randomNumber = ((double)rand() / RAND_MAX);
  94.           martix[i].push_back(randomNumber);
  95.           printf("%lf ", randomNumber);
  96.         } else {
  97.           martix[i].push_back(0);
  98.           printf("%lf ", 0);
  99.         }
  100.       }
  101.     }
  102.     printf("\n");
  103.   }
  104.   return martix;
  105. }
  106.  
  107. CRS()
  108.  
  109. CCS()
  110.  
  111. main(){
  112.   printf("Generowanie macierzy rzadkiej:\n");
  113.  
  114.   vector<vector<double>> martix = generateMatrixRow(2);
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement