Advertisement
Guest User

matrix

a guest
Jan 16th, 2013
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.41 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    setlocale (0,"");
  8.     int n, m, f;
  9.  
  10.     srand(time(0)); // генерация случайных чисел
  11.     cout << "Лабораторная 5_2.\n\tДобавить столбец в массив." << endl << endl;
  12.     cout<<"строки:";cin >> n; cout << endl;
  13.     cout<<"столбцы:";cin >> m; cout << endl<<endl;
  14.     int **mas = new int* [n]; // строки в массиве
  15.     for (int i = 0; i < n; i++)
  16.         mas[i] = new int [m]; // столбцы
  17.        
  18.     // заполнение массива
  19.     for (int a = 0; a < n; a++)
  20.         for (int b = 0; b < m; b++)
  21.             mas[a][b] = rand() % 9 + 1;//заполнение массива случайными числами с масштабированием от 1 до 9
  22.    
  23.    // вывод массива
  24.     for (int a = 0; a < n; a++)
  25.     {
  26.         for (int b = 0; b < m; b++)
  27.         {
  28.             cout << mas[a][b] << "   ";
  29.         }
  30.         cout << endl;
  31.     }
  32.    
  33.    //Создаем массив2
  34.         int **mas2 = new int* [n]; // строки в массиве2
  35.     for (int s = 0; s < n; s++)
  36.         mas2[s] = new int [m+1]; // столбцы (+1) т.к. на один больше станет
  37.    
  38.    //Добавляем столбик//
  39.     do {
  40.        cout<<endl;
  41.        cout<<"столбец добавим номер: ";cin >> f; cout << endl<<endl;
  42.        if( !(f>(m+1) || f<1) ) break; //Проверяем на правильность
  43.  
  44.       cout<<"Число не подходит данному колличеству столбцов. Повторите ввод.";
  45.       cout << endl<<endl;
  46.     }
  47.    while(true);
  48.    
  49.     --f; //вычитаем, т.к. счет в массиве идет с 0
  50.     for(int c=0; c<n ;c++) //Начинаем заполнять массив наш
  51.     {
  52.         for(int d=0,b=0;d<(m+1);d++,b++)
  53.         {
  54.             if(d==f)
  55.             {
  56.                 mas2[c][d] = rand() % 9 + 1;//Добавляем столбик
  57.                 b--;
  58.             }
  59.             else
  60.             {
  61.                 mas2[c][d] = mas[c][b];
  62.             }
  63.         }
  64.     }
  65.  
  66.     // вывод массива2
  67.     for (int c = 0; c < n; c++)
  68.     {
  69.         for (int d= 0; d < (m+1); d++)
  70.             cout << mas2[c][d] << "   ";
  71.         cout << endl;
  72.     }
  73.  
  74.     // удаление массивов
  75.     for (int count = 0; count < n; count++) {
  76.       delete[] mas[count];
  77.       delete[] mas2[count];
  78.     }
  79.    delete[] mas; delete[] mas2;
  80.    return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement