Задание:
Задан двумерный массив С из 2-х строк и 4-х столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть количество отрицательных элементов исходного массива в строке. Вычислить сумму элементов полученного массива.
//Sedyolkin Yuriu Alekseevich 4103
//lab5
#include "stdafx.h"
#include <cstdlib>
#include <math.h>
#include <iostream>
#include <stdio.h>
#include <locale.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(0, "");
system("cls");
int i, j, k;
double s = 0;
int a[2][4];
int b[2];
for (i = 0;i < 2;i++)
{
for (j = 0;j < 4;j++)
{
cout << "Введи a[" << i << "," << j << "]=";
cin >> a[i][j];
cout << endl;
}
}
for (i = 0;i < 2;i++)
{
for (j = 0;j < 4;j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
for (i = 0;i < 2;i++)
{
k = 0;
for (j = 0;j < 4;j++)
if (a[i][j] < 0)
k++;
b[j] = k;
cout << b[j] << endl;
}
for (j = 0;j < 2;j++)
s = b[j] + s;
if (s == 0)
cout << "Нет отрицательных значений в массиве а""\n";
else
cout << "Сумма элементов преобразованного массива: " << s << endl;
system("pause");
return 0;
}
Не правильно вычисляется сумма элементов второго массива в конце программы.
У вас имеется опечатка. В этом цикле в качестве индекса массива b
должна использоваться переменная i
, а не j
for (i = 0;i < 2;i++)
{
k = 0;
for (j = 0;j < 4;j++)
if (a[i][j] < 0)
k++;
b[j] = k;
^^^^
cout << b[j] << endl;
^^^^
}
И нет никакого смысла объявлять переменную s, как имеющую тип double.
double s = 0;
Объявите ее, как имеющую тип int
.
И можно следующие заголовки убрать
#include <math.h>
#include <stdio.h>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем доброго времени суток!Скажите пожалуйста в чем ошибка, почему не выводятся метки на карту? Причем я проверил через Network и ответ приходит...
Есть две одинаковых таблицы: data_tmp и data у которых есть по одной записи