• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Одномерный Массив

  • Автор темы meloman08071993
  • Дата начала
M

meloman08071993

C++:
// massiv4.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

/*
В одномерном массиве, состоящем из η вещественных элементов, вычислить:
1) сумму элементов массива с нечетными номерами;
2) сумму элементов массива, расположенных между первым и последним 
отрицательными элементами.
Сжать массив, удалив из него все элементы, модуль которых 
не превышает единицу. Освободившиеся в конце массива элементы заполнить нулями. 
*/
int _tmain(int argc, _TCHAR* argv[])
{

const int n =5;
int Array[n];
int sum=0;
for(int i = 0; i < n; i++){cin>>Array[i];}
for(int i = 0; i < n; i++)
{
if (Array[i] % 2)
sum =sum + Array[i];	
}
cout<<"summa elementov = "<<sum<<endl;
{	
const int d;// вот с этого момента не работает.
const int e;
if (d == -1 && Array[i] == 0);
d = i;
}
int e = -1; 
for(int i = n - 1; i >= 0; i--);
if (Array[i] == 0)
{
e = i;
break;
}
int sum = 0;
if (d != -1 && e != -1 && d != e);
{
for(int i = d; i < e; i++);
sum += Array[i];
}
cout<<"summa mejdu nechotnimi = "<<sum<<endl;
return 0;
}
 
L

lazybiz

А где вторая часть начинается?

P.S.: тэги за тебя кто будет расставлять?

Добавлено: Аа.. нашел. А что именно не так?

Добавлено: Я бы твои пункты немного переработал:
1) сумму элементов массива с нечетными номерами;
2) сумму элементов массива, расположенных между первым и последним
отрицательными элементами.
3) Сжать массив, удалив из него все элементы, модуль которых
не превышает единицу.
4) Освободившиеся в конце массива элементы заполнить нулями.
Что из этого не получается?
 
M

meloman08071993

Вот это(вообще не работает, выкидывает очень много ошибок:
2) сумму элементов массива, расположенных между первым и последним
отрицательными элементами.
Дальше потом разберусь... сам,
 
L

lazybiz

C++:
	...
a = b = 0;
for ( i = 0; i < n; i++ ) if ( Array[i] < 0 ) { a = i; break; }
for ( i = 1; i <= n; i++ ) if ( Array[n - i] < 0 ) { b = n - i; break; }

if ( a != b ) {	// если отрицательный элемент не единственный
for ( i = a+1; i <= b-1; i++ ) {
// считаем сумму элементов с индексами i
}
}
...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!