Bob103

need check

Dec 27th, 2015
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. int ** creat(int &n, int &m)
  4. {
  5. cout << "n="; cin >> n; cout << "m="; cin >> m;
  6. int **mas = new int *[2 * n]; //определяем максимальное количество стр ок
  7. for (int i = 0; i<n; ++i) mas[i] = new int[m];
  8. for (int i = 0; i<n; ++i)
  9. for (int j = 0; j<m; ++j){ cout<<"m as["<<i<<"]["<<j<<"]="; cin>>mas[i][j]; }
  10. return mas;
  11. }
  12. void print(int **mas, int n, int m)
  13. {
  14. for (int i = 0; i<n; i++, cout<<endl)
  15. for (int j = 0; j<m; j++) cout << mas[i][j]<<"\t";
  16. }
  17. void deleteMas(int **mas, int n)
  18. {
  19. for (int i = 0; i<n; i++) delete[] mas[i];
  20. delete[] mas;
  21. }
  22. int main()
  23. {
  24. int n, m, k,c;
  25. int **a = creat(n, m); //создаем и заполняем матрицу а
  26. int n2 = 2 * n; //п- текущее количество строк, п2 -максимально возможное
  27. print(a, n, m); //выводим первоначальный массив
  28. cout << "Enter c" << endl; cin >> c;
  29. cout<<"k = "; cin>>k; //вводим номер строки для добавления
  30. if (k<0 || k>n - 1 || n + 1>n2) cout<<"error";
  31. else {
  32. for (int i = n; i>k; -i) a[i] = a[i - 1]; //выполняем сдвиг строк
  33. ++n; //увеличиваем текущее количество строк в массиве
  34. a[k] = new int[m]; //выделяем память под новую строку массива и заполняем ее
  35. for (int j = 0; j<m; ++j) { cout <<"a[" << k << ")[" << j << "]="; cin>>a[k][j]; }
  36. print(a, n, m);
  37. } //выводим измененный массив
  38. deleteMas(a, n);
  39. return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment