Исправить ошибку - не выводится столбец матрицы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. // Массив.cpp: определяет точку входа для консольного приложения.
  2. //
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include "stdafx.h"
  6. #include <clocale>
  7. #define SIZE 5
  8. int main(void)
  9. {setlocale(LC_ALL,"Russia");
  10. setlocale(LC_ALL,"rus");
  11. int massiv[SIZE][SIZE];
  12. int i, j, row, col;
  13. for (i = 0; i < SIZE; i++)
  14. for (j = 0; j < SIZE; j++)
  15. {
  16. printf("Заполните массив");
  17. scanf("%d", &massiv[i][j]);
  18. }
  19. printf("Нужная строка ");
  20. scanf("%d", &row);
  21. if (row >= 0 && row < SIZE)
  22. for (i = 0; i < SIZE; i++)
  23. printf("%d ", massiv[row][i]);
  24. printf("\n Нужный столбец ");
  25. scanf("%d", &col);
  26. if (col >= 0 && col < SIZE)
  27. for (i = 0; i < SIZE; i++)
  28. printf("%d ", massiv[i][col]);
  29. if (col >= 0 && col < SIZE && row >= 0 && row < SIZE)
  30. printf("\nCell matrix[%d][%d] = %d\n", row, col, massiv[row][col]);
  31. return 0;
  32. }
строку нужную выводит, не выводит столбец ,почему?

Решение задачи: «Исправить ошибку - не выводится столбец матрицы»

textual
Листинг программы
  1.     int massiv[SIZE][SIZE];
  2.     int i, j, row, col;
  3.  
  4.     /* Заполнение матрицы */
  5.     for (i = 0; i < SIZE; i++) {
  6.         for (j = 0; j < SIZE; j++) {
  7.             massiv[i][j] = get_rand((i+1) * (j+1));
  8.         }
  9.     }
  10.  
  11.     /* Вывод матрицы */
  12.     for (i = 0; i < SIZE; ++i) {
  13.         for (j = 0; j < SIZE; ++j) {
  14.             printf("%-5d", massiv[i][j]);
  15.         }
  16.         printf("\n");
  17.     }
  18.  
  19.     printf("Нужная строка ");
  20.     scanf("%d", &row);
  21.     --row;
  22.     if (row >= 0 && row < SIZE)
  23.         for (i = 0; i < SIZE; i++)
  24.             printf("%d ", massiv[row][i]);
  25.  
  26.     printf("\n Нужный столбец ");
  27.     scanf("%d", &col);
  28.     --col;
  29.     if (col >= 0 && col < SIZE)
  30.         for (i = 0; i < SIZE; i++)
  31.             printf("%d ", massiv[i][col]);
  32.     if (col >= 0 && col < SIZE && row >= 0 && row < SIZE)
  33.         printf("\nCell matrix[%d][%d] = %d\n", row, col, massiv[row][col]);
  34.     return 0;

Объяснение кода листинга программы

  1. Объявляется массив massiv размером SIZE x SIZE и переменные i, j, row, col
  2. С помощью двух вложенных циклов массив заполняется случайными числами
  3. С помощью двух вложенных циклов и функции printf матрица выводится на экран
  4. С помощью scanf считывается номер строки, затем с помощью printf выводятся элементы этой строки
  5. С помощью scanf считывается номер столбца, затем с помощью printf выводятся элементы этого столбца
  6. Если номер строки и номер столбца корректны, то выводится значение элемента матрицы по этому номеру
  7. Код завершается, возвращая 0

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы