Форум программистов, компьютерный форум CyberForum.ru

Ввести матрицу размером 10*5. Для неотрицательных элементов вычислить их произведение - C++

Восстановить пароль Регистрация
 
 
Crank13
0 / 0 / 0
Регистрация: 08.02.2014
Сообщений: 13
08.02.2014, 19:17     Ввести матрицу размером 10*5. Для неотрицательных элементов вычислить их произведение #1
Задача:
Ввести матрицу размером 10*5.
Для не отрицательных элементов вычислить их произведение.
вообще не понимаю как это сделать помогите плз разобраться
заранее большое спс
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2014, 19:17     Ввести матрицу размером 10*5. Для неотрицательных элементов вычислить их произведение
Посмотрите здесь:

Ввести матрицу размером NxM. C++
Из заданной матрицы A размером получить матрицу В размером по правилу: первый столбец состоит из положительных элементов, второй – из отрицате C++
C++ 1Из заданной матрицы A размером N*M получить матрицу В размером K*3 по правилу: первый столбец состоит из положительных элементов....
C++ ввести вещественную матрицу размером 4 на 4
Ввести матрицу и определить произведение полож. элементов ниже главной диагонали C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Crank13
0 / 0 / 0
Регистрация: 08.02.2014
Сообщений: 13
09.02.2014, 13:21  [ТС]     Ввести матрицу размером 10*5. Для неотрицательных элементов вычислить их произведение #21
ужасно не понятно все куда что ставить( то работает то не работает уже неделю бьюсь над задачей(голова кругом идет
может кто то может объяснить что опять не так
доделаю пойду книгу дочитывать по программированию мб в следующих главах все понятней станет

Добавлено через 2 минуты
но разве произведения должно быть постоянно ноль?
и эта матрица выходит размером 10 на 5?
почему не показывает саму матрицу?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,165
Завершенные тесты: 1
09.02.2014, 13:25     Ввести матрицу размером 10*5. Для неотрицательных элементов вычислить их произведение #22
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream> // библиотека потокового ввода-вывода
#include <stdlib.h> // отсюда берем функцию генерации случайных чисел rand()
using namespace std; // делаем доступными переменные из <iostream>
int main()
 {
    int matr[10][5];
    for(int i=0;i<10;i++) // перебираем строки по переменной i
    for(int j=0;j<5;j++) // перебираем столбцы по переменной j
        matr[i][j]=rand(); // присваиваем очередному элементу массива случайное значение
    int p=1;                 // сюда будем писать произведение. Единица потому, что умножение на 1 не изменяет результат произведения 
    for(int i=0;i<10;i++)
    for(int j=0;j<5;j++)
        if(matr[i][j]>=0) // множить надо только положительные числа (или, как сказано в условии, нули)
            p*=matr[i][j];
    cout<<"Proizvedenie="<<p<<endl; // выводим ответ
    system("pause"); // ожидаем ввода любого символа с клавиатуры
    return 0;  // конец программы
 }
Проще объяснить ну никак нельзя
Crank13
0 / 0 / 0
Регистрация: 08.02.2014
Сообщений: 13
09.02.2014, 13:38  [ТС]     Ввести матрицу размером 10*5. Для неотрицательных элементов вычислить их произведение #23
а вот теперь все понятно огромное вам спасибо за помощь
сейчас еще попробую разобраться с на писаной матрицей в программе

Добавлено через 7 минут
или вы можете так же объяснить как делается с вписаной в программу матрицей что бы не ломать голову как она пишется конечно если вам не трудно буду очень благодарен
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,165
Завершенные тесты: 1
09.02.2014, 13:50     Ввести матрицу размером 10*5. Для неотрицательных элементов вычислить их произведение #24
Цитата Сообщение от Crank13 Посмотреть сообщение
вы можете так же объяснить как делается с вписаной в программу матрицей
C++
1
2
3
4
5
6
7
8
9
10
11
12
double matr[10][5]={ // обратите внимание для таких чисел нужен тип double
{1.8,5.0,3.0,4.0,5.0},// перечисляем 5 чисел 1-ой строки
{2.7,2.0,3.0,4.0,5.0},// перечисляем 5 чисел 2-ой строки
{3.6,2.0,3.0,4.0,5.0},
{4.0,2.0,3.0,4.0,5.0},
{5.1,2.0,3.0,4.0,5.0},
{6.2,2.0,3.0,4.0,5.0},
{7.3,2.0,3.0,4.0,5.0},
{8.4,2.0,3.0,4.0,5.0},
{0.9,2.0,3.0,4.0,5.0},
{9.5,2.0,3.0,4.0,5.0} // перечисляем 5 чисел 10-ой строки
};
И не забываем удалить строки в которых присваиваются случайные значения(7-9 из поста №22).
Crank13
0 / 0 / 0
Регистрация: 08.02.2014
Сообщений: 13
09.02.2014, 14:17  [ТС]     Ввести матрицу размером 10*5. Для неотрицательных элементов вычислить их произведение #25
мне уже стыдно писать сюда но после замены 7-9 строк на матрицу выдает вот это
1>c:\users\администратор\documents\visual studio 2010\projects\задача2\задача2\задача2.cpp(1): fatal error C1083: Не удается открыть файл предкомпилированный заголовок: Debug\задача2.pch: No such file or directory

Добавлено через 11 минут
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "StdAfx.h"
#include <iostream> // библиотека потокового ввода-вывода
#include <stdlib.h> // отсюда берем функцию генерации случайных чисел rand()
using namespace std; // делаем доступными переменные из <iostream>
int main()
 {
  // int matr[10][5];
 //   for(int i=0;i<10;i++) // перебираем строки по переменной i
 //   for(int j=0;j<5;j++) // перебираем столбцы по переменной j
     //   matr[i][j]=rand(); // присваиваем очередному элементу массива случайное значение
     double matr[10][5]={ // обратите внимание для таких чисел нужен тип double
{1.8,5.0,3.0,4.0,5.0},// перечисляем 5 чисел 1-ой строки
{2.7,2.0,3.0,4.0,5.0},// перечисляем 5 чисел 2-ой строки
{3.6,2.0,3.0,4.0,5.0},
{4.0,2.0,3.0,4.0,5.0},
{5.1,2.0,3.0,4.0,5.0},
{6.2,2.0,3.0,4.0,5.0},
{7.3,2.0,3.0,4.0,5.0},
{8.4,2.0,3.0,4.0,5.0},
{0.9,2.0,3.0,4.0,5.0},
{9.5,2.0,3.0,4.0,5.0} // перечисляем 5 чисел 10-ой строки
};
    int p=1;                 // сюда будем писать произведение. Единица потому, что умножение на 1 не изменяет результат произведения 
    for(int i=0;i<10;i++)
    for(int j=0;j<5;j++)
        if(matr[i][j]>=0) // множить надо только положительные числа (или, как сказано в условии, нули)
            p*=matr[i][j];
    cout<<"Proizvedenie="<<p<<endl; // выводим ответ
    system("pause"); // ожидаем ввода любого символа с клавиатуры
    return 0;  // конец программы
 }
а вот так работает нормально и число уже далеко не 1 или ноль выходит

Добавлено через 1 минуту
Proizvedenie=-2147483648
Для продолжения нажмите любую клавишу . . .
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2014, 15:03     Ввести матрицу размером 10*5. Для неотрицательных элементов вычислить их произведение
Еще ссылки по теме:

C++ Найти сумму неотрицательных и произведение положительных элементов массива
Pascal в C++. Максимальное произведение двух элементов для последовательности целых неотрицательных чисел C++
Скалярное произведение строки с наибольшим количеством неотрицательных элементов на i-ый столбец C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,779
09.02.2014, 15:03     Ввести матрицу размером 10*5. Для неотрицательных элементов вычислить их произведение #26
Crank13, замените:
C++
1
int p=1;
на:
C++
1
double p=1;
Yandex
Объявления
09.02.2014, 15:03     Ввести матрицу размером 10*5. Для неотрицательных элементов вычислить их произведение
Ответ Создать тему
Опции темы

Текущее время: 17:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru