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

Найти сумму элементов массива, расположенных между первым и последним положительными элементами - C++

Восстановить пароль Регистрация
 
3adrot
0 / 0 / 0
Регистрация: 31.01.2010
Сообщений: 34
15.04.2010, 14:35     Найти сумму элементов массива, расположенных между первым и последним положительными элементами #1
В одномерном массиве,стоящем из n вещественных элементов,вычислить:
1)минимальный элемент массива;
2сумму элементов массива, расположенных между первым и последним положительными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы,равные нулю,а потом-все остальные.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2010, 14:35     Найти сумму элементов массива, расположенных между первым и последним положительными элементами
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,692
15.04.2010, 17:13     Найти сумму элементов массива, расположенных между первым и последним положительными элементами #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от 3adrot Посмотреть сообщение
В одномерном массиве,стоящем из n вещественных элементов,вычислить:
1)минимальный элемент массива;
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <stdafx.h>
#include <iostream>
 
void min (const int [], int); // функция для поиска наименьшего элемента массива.
void sum (const int [], int); // функция для подсчета суммы.
void filter (int [], int); // функция для фильтровки и вывода массива.
 
int main()
{
    setlocale( LC_ALL,"Russian" );
 
    int N;
    std::cout << "Введите кол-во элементов массива: ";
    std::cin >> N;
    int *MAS=new int [N];
 
    for (int i=0; i<N; i++) // заполняем массив с клавиатуры.
    {
        std::cout << "MAS["<<  i <<"]: ";
        std::cin >> MAS[i];
    }
 
    min (MAS, N); // вызываем функцию min.
    sum (MAS, N); // вызываем функцию sum.
    filter(MAS,N); // вызываем функцию filter.
    
 
    delete []MAS;
    system("pause");
    return 0;
}
 
/*--------------------------------------------------------*/
void min (const int mas[], int n)
{
    int min=mas[0]; 
 
    for (int i=0; i<n; i++) // поиск минимального значения.
        if (min>mas[i]) min=mas[i];
 
    std::cout << "Наименьший элемент массива: " << min << std::endl; 
}
/*--------------------------------------------------------*/
void sum (const int mas[], int n)
{
    size_t first=0, last=0; // первый и последний положительный элемент.
    int sum=0; // общая сумма.
 
    for (int i=0; i<n; i++) // ищем first.
        if (mas[i]>0)
        {
            first=i;
            break;
        }
    
 
    for (int j=n-1; j>=0; j--) // ищем last.
        if (mas[j]>0)
        {
            last=j;
            break;
        }
 
    for (int m=first+1; m<last; m++) // ищем сумму.
    sum+=mas[m];
 
    std::cout << "Сумма=" << sum << std::endl;
}
/*--------------------------------------------------------*/
void filter (int mas[], int n)
{
    int zero=0;
    for (int i=0; i<n; i++)
        if (mas[i]==0)              // при нахождении элемента, равного нулю,
        {                           // присваиваем ему значение элемента mas[zero], 
            mas[i]=mas[zero];       // которому далее присваиваем ноль.
            mas[zero]=0;            // переменную zero увеличиваем на один.
            ++zero;
        }
 
    std::cout << "Массив:\n";
    for (int i=0; i<n; i++)
        std::cout << mas[i] << "  ";
 
    std::cout << std::endl;
}
Yandex
Объявления
15.04.2010, 17:13     Найти сумму элементов массива, расположенных между первым и последним положительными элементами
Ответ Создать тему
Опции темы

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