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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ перезагрузка оператора равно http://www.cyberforum.ru/cpp-beginners/thread759101.html
struct pointer_command { public: void * x; public: void set(void * y){x = y; } void operator = (void * y ) {x = y;} void* operator = ( pointer_command& const y ){return y.x;} };
C++ Добавление расширения файла Подскажите, пожалуйста, как сделать так, чтобы в программе при запуске пользователь вводиил только имя файла а расширение к нему добавляла программа? Нужен сам код вот этой части http://www.cyberforum.ru/cpp-beginners/thread759083.html
C++ Исправить код (Циклы)
#include <iostream> using namespace std; int main () { setlocale(0, ""); double x, i = 0; // инициализируем счетчик цикла. double sum = 0; // инициализируем счетчик суммы. cin>>x; do // выполняем цикл.
C++ Добавьте в состав класса виртуальную функцию просмотра текущего объекта print (), а в производный класс student_l - переопределенную функцию просмотра
..15.. Добавьте в состав класса (программа есть, нужно дополнить) виртуальную функцию просмотра текущего объекта print (), а в производный класс student_l - переопределенную функцию просмотра состояния объектов. #include <iostream> using namespace std; #define N 3 class Student {
C++ Перевод числа N из десятичной системы счисления в восьмиричную http://www.cyberforum.ru/cpp-beginners/thread759059.html
Здравствуйте! Я начинающий программист и мне очень надо создать 3 программы на С++ а мой запас знаний особо невелик. задания таковы: 1)перевод числа N из 10-ой системы счисления в 8-ричную; 2)получить вектор сумм элементов строк матрицы 3) З двох заданих із клавіатури слів скласти різні види кросвордів. При неможливості скласти кросворд (у введених словах немає ні однієї однакової букви)...
C++ Дано натуральное число. Вывести на экран все простые числа до заданного числа. Дано натуральное число. Вывести на экран все простые числа до заданного числа. подробнее

Показать сообщение отдельно
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
11.01.2013, 22:50     Сумму элементов массива, расположенных между первым и последним отрицательными элементами
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
int main()
{
     int a[10] = {1,-6,4,2,-7,9,-2,4,5,5}, j(-1), k(0), s(0);    
    for(int i = 0; i<10; i++)
        if(a[i]<0) 
             j<0 ? j = i : k = i;
     for(int i = j+1; i<k; i++)
        s+=a[i];
     std::cout<<s<<'\n';
     return 0;
}
Алгоритм вкратце:
Кликните здесь для просмотра всего текста
задаем какой-то переменной уникальное начальное значение (у меня j = -1) и перебором в цикле ищем первый отрицательный элемент. Т.к. индекс массива не может быть отрицательным, то в первом случае проверяем, отрицательна ли j, если да, то присваиваем ей индекс этого отр. элемента в массиве. В остальных случаях проверяем так же j (условие теперь выполняться не будет) и остальное (индексы отр. элементов) до конца цикла пишем в другую переменную (у меня k). Далее вторым циклом от j до k просто суммируем оставшееся.
 
Текущее время: 00:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru