Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2016, 21:53   #1
Виталтк
 
Регистрация: 22.11.2016
Сообщений: 3
Сообщение Помогите решить

Дано задание найти произведение отрицательных элементов каждого столбца.Я то дурак думал что уже все сделал с первого раза, но присмотревшись я понял что работает не совсем правильно, а в чем ошибка так и не могу найти.
Код:
#include <iostream>
#include <math.h>
#include <conio.h>
#include <clocale>

using namespace std;

int main()
{
    const int n = 2;
    const int m = 3;
    int i, j;
    float x[n][m], S = 1;
    setlocale(LC_CTYPE, "ru");
    cout << "Введите элементи массива" << '\n';
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < m; j++)
        {
            cout << "Введите " << i << j << " элемент:";
            cin >> x[i][j];
        }
    }
    for(j = 0; j < m; j++)
    {
        for(i = 0; i < n; i++)
        {
            if (x[i][j] < 0)
            {
                S *= x[i][j];
            }
        }
        cout << "Сума " << j << "столбца =" << S << '\n';
    }
    return 0;
}
Виталтк вне форума Ответить с цитированием
Старый 22.11.2016, 21:57   #2
Мановар
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 84
По умолчанию

На первую вскидку, у тебя при вводе массива в цикле в начале идет i потом j, а при вычислении произведения наоборот.
Перепутал со строчками. Скорее где размерность.
Размерность нормально. У тебя произведение внутреннего цикла переходит на внешний. Т.е. посчитал произведение первого столбца и она оставаясь у тебя прежней участвует в вычислении второго столбца, а затем и третьего (если конечно есть отрицательные элементы).

Последний раз редактировалось Мановар; 22.11.2016 в 22:26.
Мановар вне форума Ответить с цитированием
Старый 22.11.2016, 22:26   #3
Виталтк
 
Регистрация: 22.11.2016
Сообщений: 3
По умолчанию

Так должно быть иначе будут считаться строки, а не столбики.
Виталтк вне форума Ответить с цитированием
Старый 22.11.2016, 22:33   #4
Мановар
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 84
По умолчанию

Нет у тебя все правильно, надо произведение сделать опять 1
cout << "Сума " << j << "столбца =" << S << '\n';
S = 1;
Мановар вне форума Ответить с цитированием
Старый 22.11.2016, 22:41   #5
Виталтк
 
Регистрация: 22.11.2016
Сообщений: 3
По умолчанию

Большое спасибо. Manowar кстати, классная група)
Виталтк вне форума Ответить с цитированием
Старый 22.11.2016, 22:45   #6
Мановар
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 84
По умолчанию

Особенно 1986, 1987 года.
Ладно, удачи.
Мановар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста решить! С помощью checkbox решить найти положительные числа и среднее арифметическое АлександраОрлова Помощь студентам 1 06.12.2015 08:52
Парни помогите!!срочно нужно решить в течении пару часов..завтра зачет!Парни помогите! razorl1ner Паскаль, Turbo Pascal, PascalABC.NET 0 01.06.2009 00:02
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44