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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2010, 15:12   #1
unstop
 
Регистрация: 18.03.2009
Сообщений: 4
По умолчанию Массивы в С++

Не очень понял тему массивов в С++ а надо сделать 3 условия =((
Можете помочь с кодом и объяснить принцип?
-найти произведение массива с четными числами
-Найти сумму элементов массива, расположенных между первым и последним нулевыми элементами
- Сделать массив таким чтобы сначала распологались все положительные, а птм отрицательные элементы
unstop вне форума Ответить с цитированием
Старый 05.12.2010, 15:53   #2
pacniwassano
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 81
По умолчанию

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

Код:
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
	int proizv;
	int secondN, firstN;
	int Len;
	int *p;
	int maxElement, count;
	cout << "Vvedite kol-vo elementov v massive: ";
	cin >> Len;
	p = new int [Len];

	for (int i = 0; i < Len; i++)
	{
		p[i] = i;
	}

	p[8] = 0;
	maxElement = p[0];
	count = 0;

	for (int i = 0; i < Len; i++)
	{
		if (p[i] > maxElement)
		{
			maxElement = p[i];
			count = i;
		}
	}

	cout << endl;
	cout << "Maxelement is: " << maxElement<< endl;
	cout << "Number of maxelement is: " << count << endl;

	count = 0;
	for (int i = 0; i < Len; i++)
	{
		if (p[i] == 0)
		{
			++count;
			firstN = i;
			break;
		}
	}
	
	/*
	if (count == 1)
		{
			for (int k = firstN + 1; k < Len; k++)
			{
				if (p[k] == 0)
				{
					++count;
					secondN = k;
					break;
				}
						
			}
		}*/
	

	if (count == 1)
	{
		for (int k = Len - 1; k >= 0; k--)
		{
			if ((p[k] == 0) && (k > firstN))
			{
				++count;
				secondN = k;
				break;
			}
	}
	}

	proizv = 1;
	if (count == 2)
	{
		for (int i = firstN+1; i < secondN; i++)
		{
			proizv *= i;
		}
		cout << proizv << endl;
	}

	delete [] p;
	_getch();
	return 0;
}

Последний раз редактировалось pacniwassano; 05.12.2010 в 16:12.
pacniwassano вне форума Ответить с цитированием
Старый 05.12.2010, 15:53   #3
pacniwassano
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 81
По умолчанию

p[8] = 0 введено для проверки. Соответственно для проверки суммы число элементов ввести больше 9
pacniwassano вне форума Ответить с цитированием
Старый 05.12.2010, 16:16   #4
unstop
 
Регистрация: 18.03.2009
Сообщений: 4
По умолчанию

спасибо, только он при любом кол-ве элементов массива выводит одно и тоже произведение пчму то у меня( 5040
unstop вне форума Ответить с цитированием
Старый 05.12.2010, 16:43   #5
pacniwassano
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 81
По умолчанию

пост выше прочти
pacniwassano вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические массивы и массивы варианты N@stya Помощь студентам 0 11.06.2010 21:09
С++, Массивы, динамические массивы. -Sunshine- Помощь студентам 1 19.04.2010 02:17
[C++] Массивы AquaticSoul Общие вопросы C/C++ 2 06.04.2010 15:30
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
массивы С++ bnv Общие вопросы C/C++ 6 11.02.2009 17:34