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

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

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

Ошибка в программе - C++

17.09.2013, 21:47. Просмотров 273. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Столкнулась с проблемой, в программе где-то засела ошибка, сама найти не могу. Задание: "Программа выводит массив из случайных чисел, размер задается пользователем, и находится произведение всех положительных элементов массива"

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include "iostream"
#include "time.h"
#include "stdlib.h"
 
using namespace std;
 
float mult_otr = 0;
 
//Функция заполнения массива
void fill(int n, float mas[])
{
    for (int i = 0; i < n; i++)
    {
        mas[i] = -50 + (float)(rand() %100);
    }
    return;
}
 
//Вывод массива
void out_mas(int n, float mas[])
{
    for (int i = 0; i < n; i++)
    {
        cout << mas[i] << " ";
    }
    return;
}
 
//Подсчет произведения положительных элементов
float mult(int n, float mas[])
{
    for (int i = 0; i < n; i++)
    {
        if (mas[i] > 0)
        {
            mult_otr *= mas[i];
        }
    }
    return 0;
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int i = 0;
    int n = 0;
    
    cout << "Введите кол-во элементов массива: ";
    cin >> n;
    float *mas = new float[n];
    cout << endl << endl;
    srand(time(NULL));
    
    fill(n, mas);
    out_mas(n, mas);
    mult(n, mas);
 
    cout << endl << endl;
    cout << "Произведение положительных элементов равна: " << mult_otr << endl;
    
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2013, 21:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в программе (C++):

Ошибка в программе - C++
Доброго времени суток. Только недавно начал пробовать что то ваять на С, пока все получалось до этого момента. #include &quot;stdafx.h&quot; ...

Ошибка в программе - C++
#include &lt;iostream&gt; int main () { int m = {4, 7, 8, 9, 56, 32, 8, 4, 3, 2}; int max_1 = 0; for(int i = 0; i&lt;10; i++) { ...

ошибка в программе - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; #include &lt;string&gt; #include &lt;ctype.h&gt; ...

Ошибка в программе - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; using namespace std; int main() { const float...

Ошибка в программе - C++
#include&lt;iostream.h&gt; int main(){ std::cout&lt;&lt;&quot;Hello-прива&quot;&lt;&lt;std::end; return 0; } Работал все время на билдоре в консолях,...

Ошибка в программе - C++
Здравствуйте, дорогие форумчане. У меня почему-то не хочет компилировать программу. Вот сама программа: #include &lt;iostream&gt; ...

4
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
17.09.2013, 21:48 #2
float mult_otr = 0;
наверно всё-таки
float mult_otr = 1;
0
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
17.09.2013, 21:49 #3
Цитата Сообщение от Mirazhana Посмотреть сообщение
в программе где-то засела ошибка, сама найти не могу.
в программе нет delete [] mass;
0
zss
Модератор
Эксперт С++
6407 / 5973 / 1946
Регистрация: 18.12.2011
Сообщений: 15,405
Завершенные тесты: 1
17.09.2013, 21:51 #4
Надо
C++
1
float mult_otr = 1.0;
Но приличнее так:
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
//Подсчет произведения положительных элементов
float mult(int n, float mas[])
{
    float mu=1.;
    for (int i = 0; i < n; i++)
    {
        if (mas[i] > 0)
        {
            mu *= mas[i];
        }
    }
    return mu;
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int i = 0;
    int n = 0;
    
    cout << "Введите кол-во элементов массива: ";
    cin >> n;
    float *mas = new float[n];
    cout << endl << endl;
    srand(time(NULL));
    
    fill(n, mas);
    out_mas(n, mas);
    float res=mult(n, mas);
    delete[] mas;
    cout << endl << endl;
    cout << "Произведение положительных элементов равна: " << res << endl;
    
    system("pause");
    return 0;
}
0
Mirazhana
1 / 1 / 0
Регистрация: 04.09.2012
Сообщений: 94
17.09.2013, 21:53  [ТС] #5
Цитата Сообщение от SummerRain Посмотреть сообщение
float mult_otr = 0;
наверно всё-таки
float mult_otr = 1;
Спасибо)) проглядела такую глупую ошибку
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2013, 21:53
Привет! Вот еще темы с ответами:

Ошибка в программе - C++
Я сейчас читаю книгу Липпмана &quot;Язык программирования С++&quot;, так вот, там в конце 1 главы есть упражнение.Цитирую: &quot;Напишите программу,...

ошибка в программе - C++
Условие: Дана прямоугольная матрица. Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их...

Ошибка в программе - C++
Проблема в сортировке, не совсем понимаю как реализовать. Тем более не знаю где инициализировать нулем count ...

Ошибка в программе - C++
Ребят привет, помогите в программе найти ошибку, вообще не понимаю #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;clocale&gt; ...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
17.09.2013, 21:53
Ответ Создать тему
Опции темы

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