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

Доработать программу - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построение треугольника в С++ http://www.cyberforum.ru/cpp-beginners/thread588095.html
#include <stdio.h> #include <conio.h> вот программа, выводит треугольник в консоли сразу, не спрашивая размер фигуры, помогите исправить (+ еше треугольник нужно перевернуть на 180 градусов, т.е. он не в ту сторону повернут, это его зеркальный вид) помогите ребят void main( void ) { int i, j, n = 10, k; for( i = 0; i < n; i++ ) { j = 0;
C++ Сочините задачу на return; Не могу сочинить новичковую задачу, чтоб в ней был нужен return; без операнда. Не поможете? http://www.cyberforum.ru/cpp-beginners/thread588094.html
Написать программу на классы! C++
Суть задания : На основе предложенной в варианте предметной области (ПО) необходимо разработать класс, описывающий требуемую сущность (*.h). Описать следующий набор конструкторов, методов и операторов класса (*.cpp), позволяющих производить манипуляции с объектами: конструктор без параметров, конструктор с параметрами, деструктор, конструктор копирования; setter'ы и getter’ы; учесть подсчет...
Написать программу, создающую файл записей C++
Написать программу, создающую файл записей, содержащий информацию в почтовой базе данных о подписчиках на газеты и журналы: 1. ФИО (тип сhar): 2. адрес (тип сhar): 3. 10строк с названием газет и журналов. Произвести: ввод данных, просмотр содержимого файла и поиск по фамилии.
C++ Написать программу, описывающую массив записей http://www.cyberforum.ru/cpp-beginners/thread588067.html
Написать программу, описывающую массив записей, содержащий информацию об успеваемости учащихся группы: 1. ФИО (тип сhar ): 2. название предмета (тип сhar); 3. оценки за две контрольные работы по трем предметам (тип int); Программа должна обеспечивать вывод списков учащихся выполнивших хотя бы одну работу на 5.
C++ Указатели подскажите, что значит запись **A подробнее

Показать сообщение отдельно
StrikS
0 / 0 / 0
Регистрация: 18.05.2012
Сообщений: 13
27.05.2012, 14:18     Доработать программу
Задание:
1)сумма положительных элементов (сделано)
2)В одномерном массиве, состоящем из 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <windows.h>
#include <cfloat>
using namespace std;
int main(){
const int m=10; // размер массива
double a[m]; 
int n; // число элементов
int p=1;
int i_max=0, i_min=0; //индексы минимума и максимума
SetConsoleOutputCP(1251);
do{
    cout << "Введите число элементов"
        "(не больше " << m << ") = ";
    cin >> n;
}while(n > m); // пока не будет введено правильное значение
//double *a=new double[n]; //создан динамич массив
double sum = 0.0; // сумма элементов
double max = -DBL_MAX, min = DBL_MAX;
for (int i=0; i<n; i++)
    
    {
        cout << "введите элемент [" << i << "] = ";
        cin >> a[i];
        if (a[i] > max) {max = a[i];i_max=i;}       //максимальный элемент
        if (a[i] > 0) sum = sum + a[i]; //сумма элементов
        if (a[i] < min) {min = a[i];i_min=i;}
 
        if (i_min > i_max)      // максимум в массиве стоит раньше 
for (int i = i_max+1; i <= i_min; i++) p=p*a[i]; // расчет произведения
        else if(i_max >= i_min)
            for(int i = i_min;i < i_max;i++) p=p*a[i]; // или позже в массиве
for (int i = i_max+1; i < i_min; i++) p=p*a[i]; 
} 
for (int i = 0; i<n-1; ++i){
        int tmp = 0;
        for (int j=(i+1); j<n; ++j)
            if (a[i]<a[j]) {
                tmp = a[i];
                a[i] = a[j];
                a[j] = tmp;        
                }
    }
for (int i=0; i<n; i++) cout  << a[i] <<  "  "; //вывод массива
cout << "Сумма положительных элементов =" << sum << endl;
cout << "Модуль произведения = " << abs(p) << endl; // модуль произведения
cout << "Максимальный элемент " << max << " с номером " << i_max << endl;
cout << "Минимальный элемент " << min << " с номером " << i_min << endl;
 
//delete[] a;
system("pause");
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru