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

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

Восстановить пароль Регистрация
 
Warburton
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 13
25.03.2014, 23:29     Произведение ненулевых элементов массива #1
помогите, начал изучать С++ недавно, столкнулся с проблемой с массивами
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 минут
как вставить скриншот работы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2014, 23:29     Произведение ненулевых элементов массива
Посмотрите здесь:

Даны три массива A[7][7], B[7][7], C[7][7]. Найти произведение ненулевых элементов, расположенных ниже главной диагонали. C++
Найти произведение ненулевых элементов массива C++
C++ Произведение ненулевых элементов массива
Произведение ненулевых элементов C++
Подсчёт произведение ненулевых элементов массива и определение максимального елемета C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
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;
}
Warburton
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 13
25.03.2014, 23:51  [ТС]     Произведение ненулевых элементов массива #3
а можешь указать на ошибку) не хочется потом каждый раз спрашивать)
как правильно указывать вывод
C++
1
cout << "Произведение ненулевых элементов = " << s << endl;
что бы данная строка выводилась 1 раз ,а не кучу раз, массивом

Добавлено через 4 минуты
Спасибо огромное, добрый человек)
получилось. это у нас идёт курсач, язык С++ учим второй месяц, а задания дали, будто мы пол года изучаем его
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
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>
UnsKneD
26.03.2014, 00:10
  #5

Не по теме:

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

Warburton
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 13
26.03.2014, 00:24  [ТС]     Произведение ненулевых элементов массива #6
Спасибо огромное)
и ещё последний вопрос, возможно ли в настройках сделать, что бы каждая строка имела номер, т.е. у меня выскочила ошибка в компиляторе указывает номер строки, например, 32 и сидеть считать в коде 32 строку убивает ))
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
26.03.2014, 00:33     Произведение ненулевых элементов массива #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Если я вас правильно понял в вашей среде отсутствует нумерация строк? У меня в кодеблок таких проблем не было какая у вас не знаю.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2014, 00:40     Произведение ненулевых элементов массива
Еще ссылки по теме:

в массиве . найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива C++
C++ Найти произведение ненулевых элементов одномерного числового массива
C++ Определить произведение ненулевых элементов массива

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

Или воспользуйтесь поиском по форуму:
Warburton
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 13
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 для того, чтобы включить нумерацию строк во всех типах файлов.
Yandex
Объявления
26.03.2014, 00:40     Произведение ненулевых элементов массива
Ответ Создать тему
Опции темы

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