Найти строку и столбец матрицы, которые удовлетворяют требованиям - C (СИ)

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

При решении задачи столкнулся с проблемой, вот условие задачи: Задана прямоугольная таблица А[1:N, 1:N], элементы которой равны 0 или 1, причем А[i, i] = 0 для любого i. Необходимо найти, если они есть, такие строку i0 и столбец j0, чтобы в столбце j0 были все 0, а в строке i0 – все 1 (кроме элемента A[i0, i0], равного 0). Собственно говоря не могу реализовать поиск строк и столбцов. вот что есть на данный момент
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define N 5
int main()
{ clrscr();
  int arr[N][N];
  int i,j;
  srand(time(NULL));
  //zapolnenie masiva
  for (i = 0; i < N; i++)
  {
   for (j = 0; j < N;j++ )
   {
    arr[i][j]=rand()%2;
   }
  }
  //diagonal zapolniaem 0
  for (i=0;i<N;i++){
   for (j=0;j<N;j++){
    if (i==j) arr[i][j]=0;}
    }
   //vivod masiva
     for ( i = 0; i < N; i++){
    for ( j = 0; j < N;j++ ){
       printf ("%d ", arr[i][j]);
    }
    printf ("\n");
     }
   getch();
 
 return 0;
 }
заранее спасибо

Код к задаче: «Найти строку и столбец матрицы, которые удовлетворяют требованиям - C (СИ)»

textual
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define N 4
 
int main()
{ //clrscr();
  int arr[N][N];
  int i,j;
  srand(time(NULL));
  //zapolnenie masiva
  for (i = 0; i < N; i++)
  {
   for (j = 0; j < N;j++ )
   {
    arr[i][j]=rand()%2;
   }
  }
  //diagonal zapolniaem 0
  for (i=0;i<N;i++){
  // for (j=0;j<N;j++){
    /*if (i==j)*/ arr[i][i]=0;}
    
   //vivod masiva
     for ( i = 0; i < N; i++){
        for ( j = 0; j < N;j++ ){
           printf ("%d ", arr[i][j]);
        }
        printf ("\n");
     }
     printf ("\n");
     int sum_row = 0;
     for ( i = 0; i < N; i++){
        for ( j = 0; j < N;j++ ){
            
            if(i!=j)sum_row += arr[i][j];
            }
            if(sum_row==N-1) printf ( "Yes row\n");
            sum_row=0;
            }
     
     int sum_col = 0;
     for ( i = 0; i < N; i++){
        for ( j = 0; j < N;j++ ){
            
            if(i!=j)sum_col += arr[j][i];
            }
            if(sum_col==0) printf ( "Yes col \n");
            sum_col=0;
            }
            
            
   getch();
 
 
 //return 0;
 
 
 }

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


СОХРАНИТЬ ССЫЛКУ