Advertisement
codegod313

Spiralka(matrix) algo by alesik

Nov 1st, 2019
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #include "pch.h"
  2. #include <stdio.h>
  3. #include <locale.h>
  4. #include <iostream>
  5. #include <vector>
  6. #include <cstdlib>
  7. #define add b.push_back(a[i][j]);
  8. #define u && b.size() != n*m
  9.  
  10. using namespace std;
  11.  
  12. void printm(int **a, int n, int m) {
  13.     cout << endl;
  14.     for (int i = 0; i < n; i++) {
  15.         for (int j = 0; j < m; j++) {
  16.             cout << a[i][j] << " ";
  17.         }
  18.         cout << endl;
  19.     }
  20. }
  21.  
  22. int main()
  23. {
  24.     int n, m;
  25.     cout << "Enter n and m" << endl;
  26.     cin >> n >> m;
  27.     vector<int> b;
  28.     int **a = (int **)malloc(n * sizeof(int));
  29.     for (int i = 0; i < n; i++) {
  30.         a[i] = (int *)malloc(m * sizeof(int));
  31.         for (int j = 0; j < m; j++) {
  32.             a[i][j] = rand() % 10;
  33.         }
  34.     }
  35.     printm(a, n, m);
  36.     int i = 0;
  37.     int j = 0;
  38.     int m0 = m, n0 = n, i1 = 1, j1 = 0;
  39.     while (b.size() != n * m) {
  40.         for (j; j < m0 u; j++) {
  41.             add;
  42.         }
  43.         j--;
  44.         i++;
  45.         for (i; i < n0 u; i++) {
  46.             add;
  47.         }
  48.         i--;
  49.         j--;
  50.         for (j; j >= j1 u; j--) {
  51.             add;
  52.         }
  53.         j++;
  54.         i--;
  55.         for (i; i >= i1 u; i--) {
  56.             add;
  57.         }
  58.         m0--;
  59.         n0--;
  60.         i++;
  61.         j++;
  62.         j1++;
  63.         i1++;
  64.     }
  65.     cout << endl;
  66.     for (int i = 0; i < n*m; i++) {
  67.         cout << b[i] << " ";
  68.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement