Консультация № 168868
03.06.2009, 17:47
0.00 руб.
0 1 1
Дана целочисленная прямоугольная матрица. Определить сумму элементов в тех строках, которые не содержат отрицательных элементов (оформить в виде функции).

Обсуждение

Неизвестный
03.06.2009, 18:43
общий
17.06.2009, 19:05
это ответ
Здравствуйте, Redsox!

Программа в приложении

Приложение:
// Дана целочисленная прямоугольная матрица.
// Определить сумму элементов в тех строках,
// которые не содержат отрицательных элементов
// (оформить в виде функции).
#include <stdio.h>

#define N 10
#define M 10

int a [M] [N];

// Функция вычисления суммы элементов в строке матрицы
// Если строка содержит отрицательное число, то возвращается -1
int Sum (int *line) {
int i;
int s = 0;

for (i = 0; i < N; i++) {
if (line [i] < 0) { s = -1; break; }
else s+= line [i];
}

return s;
}

// Функция заполняет матрицу с помощью ввода с клавиатуры
void Read (void) {
int l;
int i;

printf ("\n\nВведите элементы матрицы построчно\n");

for (l = 0; l < M; l++) {
printf ("Строка №%d\n\n", l);

for (i = 0; i < N; i++) {
printf ("Элемент №%d --> ", i);
scanf ("%d", &a [l] [i]);
}
}

printf ("\n\nВвод успешно завершен\n");
}

// Функция вывода матрицы на экран
void Print (void) {
int l;
int i;

for (l = 0; l < M; l++) {
for (i = 0; i < N; i++) {
printf (" %5d", a [l] [i]);
}

printf ("\n");
}
}

void main () {
int l;
int s;

Read ();
Print ();

for (l = 0; l < M; l++) {
printf ("Строка №%d: ", l);
s = Sum (a [l]);
if (s < 0) printf (" обнаружен отрицательный элемент!\n");
else printf (" сумма элементов равна %d\n", s);
}
}
5
Форма ответа