Ввести с клавиатуры целую матрицу размерностью 5x5. Определить: 1) сумму положительных элементов в четных строках; 2) номера столбцов, не содержащих отрицательных элементов.
Все идет хорошо до момента выполнения второго пункта задания.
Пытаясь найти информацию по этому делу пришел ни к чему. Учусь в вузе, на программирование отводится один семестр и препод толком помочь не может (ввиду своего посредственного отношения к предмету, эх).
//ex_5.cpp : вывод в табличном виде результат вычисления функций
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "iostream"
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
int a[5][5], b[5], i, j, sum, k, num;
sum = 0;
k = 0;
for (i = 0; i <= 4; i++)
for (j = 0; j <= 4; j++)
a[i][j] = rand() % 20 ; //ввод данных
for (i = 0; i <= 4; i++) {
for (j = 0; j <= 4; j++)
printf("%d\t", a[i][j]);
printf("\n");
} //вывод массива
for (i = 0; i < 5; i++) {
if (i % 2 != 0)
for (j = 0; j < 5; j++) {
if (a[i][j] > 0) {
sum = sum + a[i][j];
}
}
} //сумма положительных элементов чётных строк
cout << "Cумма положительных элементов чётных строк: " << sum << endl;
cout << "Столбцы с неотрицательными элементами: ";
for (j = 0; j < 5; j++) {
for (i = 0; i < 5; i++) {
if (a[i][j] < 0) {
k++;
}
}
if (k = 0) {
num = j;
b[j] = num;
cout << b[j];
}
}
for (i = 0; i < 5; i++) {
cout << b[j] << " ";
} //столбцы с неотрицательными элементами
_getch();
}
У вас массив b не инициализирован при старте программы, поэтому выводит мусор. И ещё, формирование массива у вас производится некорректно, таким образом у вас отрицательных чисел не будет. Вам нужно отнимать от полученного числа половину диапазона задаваемых чисел, и все будет работать.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости