Не правильно вычисляет C++ [требует правки]

308
24 декабря 2016, 16:43

Задание:

Задан двумерный массив С из 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;
}

Не правильно вычисляется сумма элементов второго массива в конце программы.

Answer 1

У вас имеется опечатка. В этом цикле в качестве индекса массива 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>
READ ALSO
Вывести метки из БД и добавить на карту

Вывести метки из БД и добавить на карту

Всем доброго времени суток!Скажите пожалуйста в чем ошибка, почему не выводятся метки на карту? Причем я проверил через Network и ответ приходит...

414
Mysqli копирование данных из таблицы в таблицу

Mysqli копирование данных из таблицы в таблицу

Есть две одинаковых таблицы: data_tmp и data у которых есть по одной записи

362