Создать прямоугольную матрицу, размерность которой вводится с клавиатуры.
Требуется дополнить ее до квадратной. Заполнить новые элементы матрицы нулями. Результат вывести на экран. Использовать функцию malloc.
C/C++
Задание по C
#include
#include
void print(size_t n, size_t m, int** matrix, char* end)
{
for(size_t i = 0; i < n; ++i) {
for(size_t j = 0; j < m; ++j)
printf("%4lu", matrix[i][j]);
printf("\n");
}
printf("%s", end);
}
int main()
{
size_t n, m;
scanf("%lu %lu", &n, &m);
int** matrix;
matrix = malloc(n * sizeof(int*));
for(size_t i = 0; i < n; ++i) {
matrix[i] = malloc(m * sizeof(int));
for(size_t j = 0; j < m; ++j)
matrix[i][j] = 10 * (i+1) + j+1;
}
print(n, m, matrix, "\n");
if(n < m) {
matrix = realloc(matrix, m * sizeof(int*));
for(size_t i = n; i < m; ++i) {
matrix[i] = malloc(m * sizeof(int));
for(size_t j = 0; j < m; ++j)
matrix[i][j] = 0;
}
n = m;
}
else if(m < n) {
for(size_t i = 0; i < n; ++i) {
matrix[i] = realloc(matrix[i], n * sizeof(int));
for(size_t j = m; j < n; ++j)
matrix[i][j] = 0;
}
m = n;
}
print(n, m, matrix, "\n");
for(size_t i = 0; i < n; ++i)
free(matrix[i]);
free(matrix);
return 0;
}
на си программируют контроллеры, а у вас я видел и электротехнику, а значит и учитесь на это. Так что учитесь, хоть на работу возьмут если вот эти минимальные знания покажете
Похожие вопросы
- Нужна помощь с выполнением заданий в C++
- Задание на C/C++
- Помогите решить задание на c++
- Задание на C++. Помощь с кодом.
- Задание по C++
- 24 задание егэ, C++
- Помощь с заданием на c++
- Помогите решить задание на C++
- Информатика задание по c++
- Помогите понять суть задания на C++, написать программу с такой задачей: