Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<time.h>
- #include <iomanip>
- #include <malloc.h>
- using namespace std;
- int** Create(int row, int col)
- {
- int** arr;
- arr = new int* [row];
- for (int i = 0; i < row; i++)
- {
- arr[i] = new int[col];
- }
- return arr;
- }
- void Fill(int** arr, int height, int width)
- {
- for (int i = 0; i < height; i++)
- {
- for (int j = 0; j < width; j++)
- {
- arr[i][j] = rand() % 100;
- }
- }
- }
- void Show(int** arr, int height, int width)
- {
- for (int i = 0; i < height; i++)
- {
- for (int j = 0; j < width; j++)
- {
- printf("%3d", arr[i][j]);
- }
- printf("\n");
- }
- }
- void Del(int** arr, int row)
- {
- for (int i = 0; i < row; i++)
- {
- delete[]arr[i];
- }
- delete[]arr;
- }
- int** Add_Col(int** arr, int& height, int& width)
- {
- int** arr_1;
- int pos;
- printf("Enter number of column you want add: ");
- scanf("%d", &pos);
- if (pos > width)
- {
- printf("Wrong choce!\n");
- return 0;
- }
- else
- {
- arr_1 = Create(height, width + 1);
- for (int i = 0; i < height; i++)
- {
- for (int j = 0; j < pos; j++)
- {
- arr_1[i][j] = arr[i][j];
- }
- }
- for (int i = 0; i < height; i++)
- {
- for (int j = 0; j < width - pos; j++)
- {
- arr_1[i][j + pos + 1] = arr[i][j + pos];
- }
- }
- width++;
- for (int i = 0; i < height; i++)
- {
- for (int j = pos; j < pos + 1; j++)
- {
- arr_1[i][j] = 5 - rand() % 10 -10;
- }
- }
- for (int i = 0; i < height; i++) delete[] arr[i];
- delete[] arr;
- arr = arr_1;
- return arr;
- }
- }
- int** Delete_Row(int** a, int& height, int width, int numberToDel)
- {
- int firstNumberToDel = a[0][0], i_num = 0;
- for (int i = 0; i < height; i++)
- {
- for (int j = 0; j < width; j++)
- {
- if (a[i][j] == numberToDel)
- {
- i_num = i;
- firstNumberToDel = a[i][j];
- }
- }
- }
- delete[] a[i_num];
- a[i_num] = nullptr;
- for (int i = 0; i < height; i++)
- {
- if (a[i] != nullptr)
- {
- for (int j = 0; j < width; j++)
- printf("%d ", a[i][j]);
- printf("\n");
- }
- }
- for (int i = 0; i < height; i++) delete[] a[i];
- delete[] a;
- return a;
- }
- int main()
- {
- srand(time(NULL));
- int width, height;
- int numberToDel;
- const char* line = "_____________________________";
- printf("Enter width: ");
- scanf("%d", &width);
- printf("Enter hight: ");
- scanf("%d", &height);
- printf("\n");
- int** arr;
- arr = Create(height, width);
- Fill(arr, height, width);
- Show(arr, height, width);
- printf("%s\nAdding column\n%s\n", line, line);
- arr = Add_Col(arr, height, width);
- Show(arr, height, width);
- printf("%s\nDelete line\n%s\n", line, line);
- printf("Enter a number to delete the string: ");
- scanf("%d", &numberToDel);
- printf("%s\n", line);
- arr = Delete_Row(arr, height, width, numberToDel);
- Del(arr, height);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment