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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверьте код программы http://www.cyberforum.ru/cpp-beginners/thread666623.html
1. Запросить с консоли целое число и проверить его на попадание в заданный диапазон значений. Результат такой проверки вывести на консоль. При выполнении задания не использовать условный оператор.(-77 до 1) 2. Запросить с консоли целое число и проверить значение бита с указанным номером в этом числе. Результат такой проверки вывести на консоль. Для удобства разрешается запрашивать указанное...
C++ Исправить ошибку "The variable 'c' is being used without being initialized" задали написать программу -это то что получилось. Выдает ошибки или Run-Time Check Failure #3 - The variable 'c' is being used without being initialized. у меня ощущение, что чего-то не хватает. и что я делаю что-то не правильно. #include "stdafx.h" #include <conio.h> #include <stdio.h> #define eof -1 int _tmain(int argc, _TCHAR* argv) http://www.cyberforum.ru/cpp-beginners/thread666622.html
C++ Сформировать массив из строки
Помогите,сформировать массив строк,удалить из него строку, начинающийся на букву"а".в С++
По координатам трех вершин некоторого треугольника найти его площадь и периметр. C++
По координатам трех вершин некоторого треугольника найти его площадь и периметр. Предусмотреть проверку возможности построения треугольника с заданными вершинами
C++ Создание Makefile http://www.cyberforum.ru/cpp-beginners/thread666600.html
Добрый вечер, форумчане! Помогите решить задание лаболаторной работы: " Создайте Makefile, который при вызове команды make all для каждого файла в текущей директории выводит сообщение "this file is named as <file name> ". " source_files := $(wildcard *.*) result := "this file as named " all: @echo -e $(foreach file, $(source_files), $(result) $(file))\n
C++ Исключение цифры из числа Задано число X. Вывести на экран число, которое получится в результате исключения из этого числа цифры в разряде n. Строковыми типами пользоваться нельзя, типа char и string. Пример работы программы: Вводим любое число X: 2012 Вводим любой разряд: 3 Результат: 212 подробнее

Показать сообщение отдельно
John Prick
758 / 691 / 124
Регистрация: 27.07.2012
Сообщений: 1,980
Завершенные тесты: 3
08.10.2012, 23:18     Вычислить сумму положительных элементов массива, расположенных до максимального элемента
Вариант для начинающего:
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
#include <iostream>
 
int main(void)
{
    int intArray[N];
    std::cout << "Array: ";
    for (int i = 0; i < N; ++i)
    {
        intArray[i] = rand() % 100;
        std::cout << intArray[i] << ' ';
    }
    std::cout << std::endl;
 
    int PosMax = 0;
    int CurrMax = 0;
    for (int i = 0; i < N; ++i)
    {
        if (intArray[i] > CurrMax)
        {
            CurrMax = intArray[i];
            PosMax = i;
        }
    }
    std::cout << "Position Of Max Element: " << PosMax << std::endl;
    
    int Sum = 0;
    for (int i = 0; i < PosMax; ++i)
    {
        if (intArray[i] > 0)
            Sum += intArray[i];
    }
    std::cout << "Sum: " << Sum << std::endl;
    system("pause");
    return 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
#include <iostream>
#include <algorithm>
 
const int N = 10;
 
void randVal(int & x)
{
    x = rand() % 100;
}
 
class TSum
{
public:
    TSum(void) : sum_(0) {}
    void operator()(int x) { sum_ += x; }
    int Value(void) const { return sum_; }
private:
    int sum_;
};
 
int main(void)
{
    int Array[N];
    std::for_each(Array, Array + N, randVal);
    std::cout << "Array: ";
    std::copy(Array, Array + N, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    int * Max = std::max_element(Array, Array + N);
    std::cout << "Max Element: " << *Max << std::endl;
 
    int Sum = std::for_each(Array, Max, TSum()).Value();
    std::cout << "Sum: " << Sum << std::endl;
    system("pause");
    return 0;
}
 
Текущее время: 23:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru