Ошибка с выводом квадратной матрицы - C (СИ)
Формулировка задачи:
Программа меняет в квадратной матрице 4*4 местами первый и 4 столбцы. Все работает, но выводится часто "Введите элементы массива:"
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale>
- #define M 4
- #define N 4
- int main(void)
- {
- setlocale(LC_ALL, "Russian");
- int A[M][N]={0};
- int K1, K2, i , j;
- int temp;
- for (i = 0; i < 4; i = i + 1) { // ввод массива
- for (j = 0; j < 4; j = j + 1) {
- printf("Введите элементы массива: \n ");
- scanf("%d", &A[i][j]);
- }
- }
- for (i = 0; i < 4; i = i + 1) { // вывод массива
- printf("\n");
- for (j = 0; j < 4; j = j + 1) {
- printf("%d\t",A[i][j]);
- }
- printf("\n");
- }
- K1 = 1;
- K2 = 4;
- if (K1>=K2 || K1<1 || K2>N) {
- puts("K1 or K2 incorrect!");
- exit(1);
- }
- i = 0;
- while (i < M) {
- temp = A[i][K1-1];
- A[i][K1-1] = A[i][K2-1];
- A[i][K2-1] = temp;
- ++i;
- }
- i = 0;
- while (i < M) {
- j = 0;
- while (j < N)
- {
- printf("%i ", A[i][j]);
- ++j;
- }
- putchar('\n');
- ++i;
- }
- system("PAUSE");
- return 0;
- }
Решение задачи: «Ошибка с выводом квадратной матрицы»
textual
Листинг программы
- printf("Введите элементы массива: \n ");
- for (i = 0; i < 4; i = i + 1) { // ввод массива
- for (j = 0; j < 4; j = j + 1) {
- scanf("%d", &A[i][j]);
- }
- }
Объяснение кода листинга программы
- Программа запрашивает у пользователя ввести элементы массива.
- Используется два вложенных цикла, где внешний цикл выполняется 4 раза, а внутренний - столько раз, сколько задано в условии внутреннего цикла.
- В каждой итерации внутреннего цикла программа запрашивает у пользователя ввести один элемент массива и сохраняет его в соответствующую ячейку массива A.
- Значения переменных i и j равны 0 после каждой итерации внешнего цикла.
- Размер массива A равен 4x4.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д