Другие языки программирования и технологии

Помогите пожалуйста С++

int check = 1; //Счётчик.
if(((matrix[a][1] ) >= 0 && (matrix[a][M - 1])) >= 0) check++;

// но так лучше

for (a = 0; a < N ; a++) {
    if (matrix[a][1] < 0 || matrix[a][M - 1] < 0) break;
    else ++check;
}
АК
Александр Корнеев
55 650
Лучший ответ
Один фик что С, что С++. Шас посмотрю.
Почему a < N и b < M, а не меньше либо равно? Сразу обрезается строка и столбец последние.
При првоерке элементов опять просто меньше, так ты check никогда до N не догонишь, всегда будет на единицу меньше, даже при всех положительных элементах)
А да, точно, туплю)
kaiu, он проверяет одновременно два столбца, поэтому и N =)
А не перепутал ли ты в проверке строки и столбцы? Вроде в двумерных идет сначала столбец, потом строка.
Николай Веселуха дал правильный ответ =) Но счетчик 0 и логические условия в скобках.
if (check == N)
А почему только N?
Если строк н, то для двух столбцов уже должно быть 2*N переменная check

Ага, логично, моя ошибка, пора видно спать.
А так в облом компилятор запускать, но видно придется :)
На первый взгляд явных ошибок не видно. Что выводит? Проблема при вводе, выводе, проверке, выводе результата?
P.S. Почему комментарии к ответам запрещены, где обсуждения и правки будут?
Нурболат Есей
Нурболат Есей
60 922