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

Массив, вычисление суммы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Для чего нужна main и в чём принцип обхода массива в цикле http://www.cyberforum.ru/cpp-beginners/thread675469.html
Доброе время суток, хотелось бы услышать ответы на несколько легких вопросов. Зачем писать int main()\void main(), и что за этим стоит; зачем при написании матрицы(двумерного массива) мы пишем такую вещь для индексов for(i=0;i<n;i++). Спасибо.
C++ Как происходит циклический сдвиг (как сдвинуть элементы в массиве) Задан массивы действительных чисел а1, а2,…,а20. Сдвинуть циклическим сдвигом все его элементы так, чтобы минимальный элемент стоял на последнем месте. понимаю что элементы влево или право двигаются при сдвиге.читала что вот такими >> и << .а как сдвиг сделать - не знаю..особенно как min на последнее место переместить.. подскажите хоть немножечко. сделала только вот #include "stdafx.h"... http://www.cyberforum.ru/cpp-beginners/thread675468.html
C++ Определить, сколько раз в массиве встретилось два подряд идущих нулевых элемента
Пример: Сформировать массив целых чисел X(N), элементами которого являются случайные числа в диапазоне . Найти максимальный элемент и его номер. #include <stdio.h> #include <stdlib.h> #include <conio.h> void main() { const int N=100; int a,n; do
C++ Дано натуральное число N и вещественное число x. Вычислить частичную сумму ряда.
Дано натуральное число N и вещественное число x. Вычислить S=\sum \limits_{i = 1}^N \frac x {(N+i)!}
C++ Передать параметрами функции указатели http://www.cyberforum.ru/cpp-beginners/thread675408.html
Нужно передать параметрами функции указатели. Вот код без указателей: #include <iostream> #include <conio.h> using namespace std; int progression (int a1, int d, int n, int k);
C++ Сортировка массива по убыванию Отсортировать массив P={1,2,3,4,5,6,7,8,9,0} по убыванию методом вставок. Подскажите пожалуйста как это сделать в borland 3.11? подробнее

Показать сообщение отдельно
LamerVCi
Сообщений: n/a
20.10.2012, 02:07     Массив, вычисление суммы
Добрый день, помогите, пожалуйста найти ошибку в решении или подскажите свой вариант.
Задание:
В одномерном вещественном динамическом массиве из n чисел вычислить: сумму всех положительных элементов массива, расположенных между первым и последним максимальными элементами, сумму элементов массива, расположенных до предпоследнего минимального элемента. Сформировать новый массив, состоящий из элементов исходного массива, из удалены все отрицательные элементы.
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
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
    float *a, sum, min, max, smin, pmin;
    int i, n, kpol, imin, imax, iimax, ipmin;
    printf ("Enter number n=");
    cin >>n;
    a=new float[n];
    kpol=0;
    imax=imin=iimax=ipmin=0;
    for (i=0 ; i<n ; i++) cin >>*(a+i);
        min=max=pmin=*a;
        sum=smin=0;
        for (i=1 ; i<n ; i++)
            if (*(a+i)>0 && *(a+i)>max)
                {
                    max=*(a+i);
                    imax=i;
            }
        for (i=1 ; i<n ; i++)
            if (*(a+i)>0 && *(a+i)<min)
                {
                    min=*(a+i);
                    imin=i;
            }
            for (i=1 ; (i<imax && i>imax) ; i++)
                if (*(a+i)>0 && *(a+i)=max) i=iimax;
            for (i=0 ; i<n ; i++)
                if (i>iimax && i<imax) sum+=*(a+i);
            for (i=0 ; (i<imin && i>imin) ; i++) 
                if (*(a+i)>0 && *(a+i)<pmin) ipmin=i;
                for (i=0 ; i<ipmin ; i++) smin+=*(a+i);
                    for (i=0 ; i<n ; i++)
                    if (*(a+i)>0)
                    {
                        *(a+kpol)=*(a+i);
                        kpol++;
                    }
                    if (kpol!=0)
                    {
                        printf ("massive polojitel'nogo elementa");
                        for (i=0 ; i<kpol ; i++)
                            cout <<setw(8)<<setprecision(9)<<*(a+i);
                        cout <<endl;
                    }
                    printf ("sum=%3.2f\n", sum);
                    printf ("smin=%3.2f\n", smin);
                        delete [] a;
                        getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru