Для каждого столбца матрицы выяснить, является ли он "хорошим" - C (СИ)
Формулировка задачи:
Дана таблица
N × N
, заполненная целыми числами. Петр Первый считает столбец хорошим, если тот содержит числоХ
. Требуется для каждого столбца выяснить, является ли тот хорошим.Входные данные
В первой
строке числоX
, не превышающее по модулю 2*109.Во второй
строке числоN
(1 <= N <= 100), В следующих N строках по N целых чисел, не превышающих по модулю 2*109 – числа в ячейках таблицы.Выходные данные
Для каждого столбцавыведите YES
, если в нем есть число Х, иNO в противном случае
. (Каждый ответ с новой строки) Вот прога. Можете объяснить чего я не учёл? половина тестов не проходит(#include<stdio.h> main() { int N,X,i,j; scanf("%d%d",&X,&N); int mas[N],l; for(i=0;i<N;i++) for(j=0;j<N;j++) { scanf("%d",&l); if(l==X) mas[j]=1; } for(i=0;i<N;i++) if(mas[i]==1) printf("YES\n"); else printf("NO\n"); }
Решение задачи: «Для каждого столбца матрицы выяснить, является ли он "хорошим"»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(NULL)); int x,n,i,j,b=0; while(1) { printf("enter x (x <= 2*109): "); scanf("%d",&x); if(x<=2*109) break; else printf("wrong x...try again!"); } while(1) { printf("enter N (1 <= N <= 100): "); scanf("%d",&n); if(n>=1 || n<=00) break; else printf("wrong n...try again!"); } int matx[n][n]; for(i=0;i<n;i++) { for(j=0;j<n;j++) { matx[i][j] = rand()%10+1; if(matx[j][i]==x) b=1; } if(b) printf("column: %d good: %s \n",i,"YES"); else printf("column: %d good: %s \n",i,"NO"); b=0; } return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Инициализируем генератор случайных чисел
- Вводим значения переменных x и n с помощью функции scanf
- Проверяем корректность введенных значений для переменных x и n
- Создаем двумерный массив matx размерностью n на n
- Заполняем массив matx случайными числами от 1 до 10 с помощью функции rand()
- Проходим по всем элементам массива matx
- Проверяем, является ли элемент в позиции (i,j) равным x
- Если да, то переменной b присваиваем значение 1
- После завершения внутреннего цикла, проверяем значение переменной b
- Если b равно 1, то выводим сообщение о том, что столбец хороший
- Если b равно 0, то выводим сообщение о том, что столбец не хороший
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д