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

Вычислить сумму элементов вещественного массива, находящихся до минимального - C++

Восстановить пароль Регистрация
 
Markiza
 Аватар для Markiza
3 / 3 / 0
Регистрация: 05.12.2010
Сообщений: 33
05.12.2010, 15:24     Вычислить сумму элементов вещественного массива, находящихся до минимального #1
Вычислить сумму элементов вещественного массива, находящихся до минимального и после максимального элементов. Создать функции для определения номеров минимального и максимального элементов, а так же для вычисления суммы элементов.

Добавлено через 21 минуту
Помогите пожалуста.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2010, 15:24     Вычислить сумму элементов вещественного массива, находящихся до минимального
Посмотрите здесь:

C++ Вычислить сумму элементов массива (состоящего из N элементов) расположенных после минимального элемента
Вычислить сумму элементов массива, расположенных до минимального элемента C++
Вычислить и вывести произведение первых 7 элементов массива и сумму следующих 7 элементов находящихся на четных позициях C++
Вычислить сумму элементов массива, расположенных после минимального элемента C++
C++ Вычислить сумму элементов массива, находящихся до минимального и после максимального элементов
C++ Вычислить сумму элементов вещественного массива, находящихся до минимального и после максимального элементов
Вычислить сумму элементов заданного вещественного массива, расположенных после максимального элемента C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
кристичка
 Аватар для кристичка
4 / 3 / 1
Регистрация: 05.12.2010
Сообщений: 38
05.12.2010, 17:48     Вычислить сумму элементов вещественного массива, находящихся до минимального #2
)))))))))))
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
05.12.2010, 19:00     Вычислить сумму элементов вещественного массива, находящихся до минимального #3
код
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
/*
Вычислить сумму элементов вещественного массива, 
находящихся до минимального и после максимального элементов. 
Создать функции для определения номеров 
минимального и максимального элементов, 
а так же для вычисления суммы элементов.
Добавлено через 21 минуту
Помогите пожалуста. 
*/
 
#include<iostream>
#include<stdlib.h>
#include<time.h>
#define SIZE 5
 
int max_index(double* array);
int min_index(double* array);
double summ(double* array, int a, int b);
int main(void){
    double array[SIZE];
    
    srand(time(NULL));
    for (int i = 0; i<SIZE;i++) array[i] = rand()%50;
    for (int i = 0; i<SIZE;i++) std::cout<<array[i]<<'\t';
    std::cout<<"\nmax =\t"<<summ(array, max_index(array),SIZE);
    std::cout<<"\nmin =\t"<<summ(array, 0, min_index(array));
return 0;
}
 
int max_index(double* array){
    int index = 0;
    for(int i=0;i<SIZE;i++)
        index = (array[index]<array[i]) ? i : index;
    
    return index;
}
 
int min_index(double* array){
    int index = 0;
    for(int i=0;i<SIZE;i++)
        index = (array[index]>array[i]) ? i : index;
    
    return index;
}
 
double summ(double* array, int a, int b){
    double sum = 0;
    for(int i=a;i<b;i++)
        sum += array[i];
        
return sum;
}
Markiza
 Аватар для Markiza
3 / 3 / 0
Регистрация: 05.12.2010
Сообщений: 33
05.12.2010, 21:52  [ТС]     Вычислить сумму элементов вещественного массива, находящихся до минимального #4
спасибо большое))

Добавлено через 48 минут
а данную программу можно записать как-нибудь иначе?
А то она у меня не компилируется
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
05.12.2010, 22:21     Вычислить сумму элементов вещественного массива, находящихся до минимального #5
можно как-нибудь иначе.
только должно все компилироваться

какую ошибку выдает Ваш компилятор?
Markiza
 Аватар для Markiza
3 / 3 / 0
Регистрация: 05.12.2010
Сообщений: 33
05.12.2010, 22:51  [ТС]     Вычислить сумму элементов вещественного массива, находящихся до минимального #6
Сперва на счет #include<iostream>, я изменила строчку на #include<iostream.h>
Затем проблемы с std, я дописала using namespace std; и убрала в тексте программы std.
Программа теперь компилируется но на экран ничего не выводит.Не знаю правильно ли я изменила программу((

Добавлено через 8 минут
Вы не могли бы объяснить если массив двумерный то почему в программе мы используем только i, на который у меня компилятор выдает ошибку Multiple declaration for 'i'
кристичка
 Аватар для кристичка
4 / 3 / 1
Регистрация: 05.12.2010
Сообщений: 38
05.12.2010, 22:58     Вычислить сумму элементов вещественного массива, находящихся до минимального #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
double * min_ptr(double * arr, size_t size){
        return ( size == 1 ) ? arr : ( *arr <= *(arr + size - 1) ) ? min_ptr(arr, size - 1) : min_ptr(arr + 1, size - 1);
}
 
double * max_ptr(double * arr, size_t size){
        return ( size == 1 ) ? arr : ( *arr >= *(arr + size - 1) ) ? max_ptr(arr, size - 1) : max_ptr(arr + 1, size - 1);
}
 
int cmp_asc(const void * a, const void * b){
        return ( *(double*)a < *(double*)b ) ? -1 : ( *(double*)a > *(double*)b ) ? 1 : 0;
}
 
int cmp_desc(const void * a, const void * b){
        return ( *(double*)a < *(double*)b ) ? 1 : ( *(double*)a > *(double*)b ) ? -1 : 0;
}
 
int main(void){
        double * parr, * pmax, * pmin;
        size_t size, i;
        
        printf("Number of elements: ");
        if ( scanf("%u", &size) != 1 ){
                fprintf(stderr, "Wrong input!\n");
                exit(1);
        }
        if ( ( parr = (double*)malloc(sizeof(double) * size) ) == NULL ){
                fprintf(stderr, "Memory error!\n");
                exit(1);
        }
        
        srand(time(NULL));
        printf("Unsorted array:\n");
        for ( i = 0; i < size; ++i )
                printf("%.1f ", ( parr[i] = (double)(rand() % 100) / 10.0 ));
        printf("\n");
        
        printf("Index of first min value element: %d\n", ( pmin = min_ptr(parr, size) ) - parr);
        printf("Index of first max value element: %d\n", ( pmax = max_ptr(parr, size) ) - parr);
        
        if ( pmin == parr )
                printf("No elements before first min value!\n");
        else if ( pmin > pmax )
                printf("Min value element after max value element!\n");
        else if ( pmax == parr + size - 1 )
                printf("No elements after max value element!\n");
        else {
                qsort(parr, pmin - parr - 1, sizeof(double), cmp_asc);
                qsort(pmax + 1, size - (pmax - parr) - 1, sizeof(double), cmp_desc);
                printf("Sorted array:\n");
                for ( i = 0; i < size; ++i )
                        printf("%.1f ", parr[i]);
                printf("\n");
        }
        
        free(parr);
        exit(0);
}
Добавлено через 20 секунд
Запрашивается количество элементов в массиве. Создаётся массив, заполняется случайными числами и за одно выводится на экран. С помощью функций вычисляются указатели на элементы с наименьшим и наибольшим значениями, после чего идут проверки, что минимальный элемент не первый в массиве, минимальный элемент находится перед максимальным, максимальный элемент не последний в массиве, и, если все проверки прошли, массив должным образом сортируется и выводится на экран...
Markiza
 Аватар для Markiza
3 / 3 / 0
Регистрация: 05.12.2010
Сообщений: 33
05.12.2010, 23:13  [ТС]     Вычислить сумму элементов вещественного массива, находящихся до минимального #8
Что расчитывает эта программа?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2010, 23:13     Вычислить сумму элементов вещественного массива, находящихся до минимального
Еще ссылки по теме:

C++ Вычислить сумму элементов массива, расположенных после минимального элемента
Вычислить сумму элементов массива, расположенных до минимального элемента C++
Вычислить сумму элементов вещественного массива C++
C++ Вычислить сумму элементов массива, расположенных после минимального элемента
Вычислить сумму модулей элементов массива, расположенных после минимального по модулю элемента C++

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

Или воспользуйтесь поиском по форуму:
кристичка
 Аватар для кристичка
4 / 3 / 1
Регистрация: 05.12.2010
Сообщений: 38
05.12.2010, 23:13     Вычислить сумму элементов вещественного массива, находящихся до минимального #9
Запрашивается количество элементов в массиве. Создаётся массив, заполняется случайными числами и за одно выводится на экран. С помощью функций вычисляются указатели на элементы с наименьшим и наибольшим значениями, после чего идут проверки, что минимальный элемент не первый в массиве, минимальный элемент находится перед максимальным, максимальный элемент не последний в массиве, и, если все проверки прошли, массив должным образом сортируется и выводится на экран...
Yandex
Объявления
05.12.2010, 23:13     Вычислить сумму элементов вещественного массива, находящихся до минимального
Ответ Создать тему
Опции темы

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