Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2013, 13:26   #1
tostuk
Новичок
Джуниор
 
Регистрация: 17.01.2013
Сообщений: 3
По умолчанию Массив

есть условие: создать одномерный массив, подсчитать сумму всех элементов стоящих между первым и вторым отрицательным числом массива.
первое и второе число он находит, но не могу сложить элементы между ними сложить, получается какое-то не понятное число.
подскажите, как сложить элементы массива от позиции "poz" до позиции "pozz" (poz/pozz обозначения используемые у меня в коде, обозначают номер элемента массива до/перед отрицательным числом)


Код C++

#include<iostream.h>
#include<math.h>
#include<iomanip.h>
int main()
{
int i,n,s,pol,poz,poll,pozz,sum;
int a[10];
cout <<"vvedite n:"<<endl;
cin>>n;

for (i=0;i<n;i++)
{
cout<<"vvvedite a["<<i<<"]=";
cin>>a[i];
} //Vvod odnomernogo massiva
cout << "massiv a="<<endl;
for (i=0;i<n;i++)
cout <<a[i]<<" ";
cout <<endl;
s=0;
for (i=0;i<n;i++)
//vi4eslenie pervogo otricatel'nogo
{
if(a[i]<0) { pol=a[i];poz=i;break;}



}
cout <<"pervoe otricatel'noe 4islo="<<pol<<endl;



for (i=poz+1;i<=n;i++)
//vtoroe otricatel'noe 4islo
{
if(a[i]<0) { poll=a[i];pozz=i;break;}

}
cout <<"vtoroe otricatel'noe 4islo="<<poll<<endl;


for (i=poz+1;i<pozz;i++)
{
sum+=a[i];
}
cout <<"summa="<<sum<<endl;
return 0;
}
Изображения
Тип файла: jpg Безымянный.JPG (24.8 Кб, 58 просмотров)
tostuk вне форума Ответить с цитированием
Старый 17.01.2013, 13:51   #2
tostuk
Новичок
Джуниор
 
Регистрация: 17.01.2013
Сообщений: 3
По умолчанию

сумма находиться
дописал double sum=0;
вроде считает.

А как сейчас выполнить условие если нет отрицательных элементов в массиве?
tostuk вне форума Ответить с цитированием
Старый 17.01.2013, 13:51   #3
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Вопрос: чему равно sum перед входом в последний цикл? Правильный ответ: чему угодно, вы не инициализировали переменную.
Abstraction вне форума Ответить с цитированием
Старый 17.01.2013, 13:53   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
А как сейчас выполнить условие если нет отрицательных элементов в массиве?
То есть, как найти
Цитата:
сумму всех элементов стоящих между первым и вторым отрицательным числом массива
? Вообще говоря, никак. Если бы мне пришлось трактовать задачу, я бы сказал, что таких чисел нет, то есть надо найти сумму элементов пустого множества. Традиционно, сумму элементов пустого множества считают равной нулю, а произведение - единице.
Abstraction вне форума Ответить с цитированием
Старый 17.01.2013, 14:12   #5
tostuk
Новичок
Джуниор
 
Регистрация: 17.01.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
То есть, как найти? Вообще говоря, никак. Если бы мне пришлось трактовать задачу, я бы сказал, что таких чисел нет, то есть надо найти сумму элементов пустого множества. Традиционно, сумму элементов пустого множества считают равной нулю, а произведение - единице.
не, сумму элементов между первым и вторым отрицательным числом находит.
а если в массиве только одно отрицательное число, или таких чисел вообще нет, то надо что бы на экран показало, что отрицательных чисел нет
tostuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02