Я выполняю задание по программированию на С, в котором я читаю количество столбцов и строк от пользователя и создаю двумерный массив на основе введенных данных и заполняю записи случайными значениями.Как мне удалить определенный столбец в моем двумерном массиве на основе введенных пользователем данных (например, если пользователь хочет удалить первый столбец, как бы я перераспределил пространство матрицы?)
#include <stdio.h>
#include <stdlib.h>
double **initializeRandomMatrixPtr(double **a, int rows, int cols) {
a = malloc(rows * sizeof(double *));
for (int i = 0; i < rows; i++) {
*(a + i) = malloc(cols * sizeof(double));
for (int j = 0; j < cols; j++) {
*(*(a + i) + j) = rand();
}
}
return a;
}
void printMatrix(double **matrix, int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
void freeMatrix(double **matrix, int rows, int cols) {
for (int i = 0; i < rows; i++) {
free(matrix[i]);
}
free(matrix);
}
int main(void) {
int rows = -1;
int cols = -1;
int deletedColumn = -1;
// remove first column
printf("Enter number of rows:");
scanf("%d", &rows);
printf("Enter number of cols:");
scanf("%d", &cols);
double **matrix = initializeRandomMatrixPtr(matrix, rows, cols);
printMatrix(matrix, rows, cols);
freeMatrix(matrix, rows, cols);
printf("What column do you want to delete?");
scanf("%d", deletedColumn);
realloc(matrix, ) // what should I put for my second parameter?
return 0;
}