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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Warburton
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 16
#1

Произведение ненулевых элементов массива - C++

25.03.2014, 23:29. Просмотров 458. Ответов 7
Метки нет (Все метки)

помогите, начал изучать С++ недавно, столкнулся с проблемой с массивами
1) Мне нужно создать массив на N элементов (ввожу с клавиатуры) и заполнить случайными вещественными числами
2) И посчитать Произведение ненулевых элементов данного массива
Вопрос: при компиляции выводит не то, сам не могу разобраться почему
Помогите
C++
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{
    setlocale( LC_ALL,"Russian" );
     int N;
     int min;
     double *mass = NULL;
     cout<<"Введите размер массива 'N':= ";
     cin>>N;
     mass = new double [N];
     cout << "Вы создали массив из "<<N<<" вещественных элементов\n";
     for (int i=0;i<N;i++) 
     {
            mass[i] = (double) (rand()%1001)/10;  
            cout<<i+1<<" = "<<mass[i]<<endl;
     double s=1.0;
     if (mass[i] != 0)
     {
         s*=mass[i];
     }
     cout << "Произведение ненулевых элементов = " << s << endl;
     }
     delete [] mass;
     system ("pause");
     return 0;
}


Добавлено через 16 минут
как вставить скриншот работы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2014, 23:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Произведение ненулевых элементов массива (C++):

в массиве . найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива - C++
В массиве Х(N) найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов...

Произведение ненулевых элементов массива - C++
Написать программу, которая находит произведение всех ненулевых элементов заданного массива B, при помощи оператора While. Ввод массива в...

Вычислить произведение ненулевых элементов массива - C++
Дан одномерный массив, состоящий из N вещественных элементов. 4.1. Заполнить массив случайными числами. 4.2. Найти минимальный...

Определить произведение ненулевых элементов массива - C++
В одномерном массиве, состоящем из n элементов, определить произведение ненулевых элементов. Составить алгоритм и текст программы.

Найти произведение ненулевых элементов массива - C++
не знаю как

Найти сумму положительных элементов массива и произведение ненулевых элементов, стоящих на нечётных местах - C++
Хеелп!!! Пожалуйста) Нужно создать прогу ... Масив который состоит из n чисел и находит суму + елементов масива и * всех не нулевых...

7
Genn55
370 / 217 / 41
Регистрация: 26.12.2012
Сообщений: 713
25.03.2014, 23:44 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
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
32
33
34
35
36
#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
using namespace std;
int main()
{
    setlocale( LC_ALL,"Russian" );
    srand(time(NULL));
     int N;
 
     double *mass;
 
     cout<<"Введите размер массива 'N':= ";
     cin>>N;
     mass = new double [N];
     cout << "Вы создали массив из "<<N<<" вещественных элементов\n";
     for (int i=0;i<N;i++)
     {
            mass[i] = (double) (rand()%100 - 50)/10;
            cout<<i+1<<" = "<<mass[i]<<endl;
     }
     double s=1;
     for (int i=0;i<N;i++)
     {
        if (mass[i] > 0)
         s *= mass[i];
     }
 
     //cout << "Произведение ненулевых элементов = " << s << endl;
 
     cout << "Произведение ненулевых элементов = " << s << endl;
     delete [] mass;
     system ("pause");
     return 0;
}
1
Warburton
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 16
25.03.2014, 23:51  [ТС] #3
а можешь указать на ошибку) не хочется потом каждый раз спрашивать)
как правильно указывать вывод
C++
1
cout << "Произведение ненулевых элементов = " << s << endl;
что бы данная строка выводилась 1 раз ,а не кучу раз, массивом

Добавлено через 4 минуты
Спасибо огромное, добрый человек)
получилось. это у нас идёт курсач, язык С++ учим второй месяц, а задания дали, будто мы пол года изучаем его
0
Genn55
370 / 217 / 41
Регистрация: 26.12.2012
Сообщений: 713
26.03.2014, 00:00 #4
Так как у меня написано будет выводиться 1 раз.Но я немного переделал условие так как в вашем случае числа будут большими и вы увидите их в експоненциальном виде.Чтобы увидеть большое число в нормальном виде вам нужно написать
C++
1
 cout << "Произведение ненулевых элементов = " << setw(8) << setprecision(3) << setiosflags (ios::fixed | ios::showpoint)<<s<< endl;
и добавить
C++
1
#include <iomanip>
0
UnsKneD
26.03.2014, 00:10
  #5

Не по теме:

Цитата Сообщение от Warburton Посмотреть сообщение
язык С++ учим второй месяц, а задания дали, будто мы пол года изучаем его
Да не, всё нормально вам дали. Через пол года уже деревья, стеки, очереди изучать будете,

0
Warburton
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 16
26.03.2014, 00:24  [ТС] #6
Спасибо огромное)
и ещё последний вопрос, возможно ли в настройках сделать, что бы каждая строка имела номер, т.е. у меня выскочила ошибка в компиляторе указывает номер строки, например, 32 и сидеть считать в коде 32 строку убивает ))
0
Genn55
370 / 217 / 41
Регистрация: 26.12.2012
Сообщений: 713
26.03.2014, 00:33 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Если я вас правильно понял в вашей среде отсутствует нумерация строк? У меня в кодеблок таких проблем не было какая у вас не знаю.
0
Warburton
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 16
26.03.2014, 00:40  [ТС] #8
да да, Вы верно поняли. у меня среда Microsoft Visual C++ 2010 Express
точно, Вы подсказали
нумерация строк
щас по нему поищу в гугле мануал по Microsoft Visual C++ 2010 Express, всё не буду Вас тревожить)) спасибо за всё ещё раз)
я ставил кодблок, но там что то при компиляции ругался на библиотеки и я его отложил)

Добавлено через 4 минуты
Нашёл ,если кому то интересно будет как Включить нумерацию строк
При помощи меню откройте диалог Tools - Options - Text Editor - All Languages – General и установите флажок на опции Line numbers для того, чтобы включить нумерацию строк во всех типах файлов.
0
26.03.2014, 00:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2014, 00:40
Привет! Вот еще темы с ответами:

Определить функцию, находящую произведение ненулевых элементов массива - C++
Определить функцию, находящую произведение ненулевых элементов массива. Выполнить перегрузку функции для следующих типов параметров:...

Найти произведение ненулевых элементов одномерного числового массива - C++
Найти произведение ненулевых элементов одномерного числового массива

Подсчёт произведение ненулевых элементов массива и определение максимального елемета - C++
Ребят нужна помощь буду очень благодарен. В общем такая задача: Надо создать числовой массив значение N вводиться с клавиатуры и...

Даны три массива A[7][7], B[7][7], C[7][7]. Найти произведение ненулевых элементов, расположенных ниже главной диагонали. - C++
Здравствуйте. Помогите пожалуйста решить задачу, с использованием функции. Даны три массива A, B, C. Найти произведение ненулевых...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru