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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2014, 02:34   #1
Александр112
 
Регистрация: 24.04.2014
Сообщений: 9
По умолчанию Помогите.

Нужно что бы выполнялось 2 условия:
1)Вычисление номера максимального массива. это есть
2) Произведение элементов, которые содержаться между 1 и 2 нулевыми элементами
Код:
#include <iostream>
#include <conio.h>
#include <cmath>
#include <stdlib.h>
using namespace std;
	int main ()
{
	int i;
	int p=0;
	int max;
	double sum=0;
	double d[12]={-1, 2, -44, 0.1, 1, 1, 4 , 0, 1, 1, -2, -8};
	max=abs(d[0]);
	for (i=0; i<=11; i++)
		if (abs(d[i])>max) {
			max=abs(d[i]);
		}
	for (i=0; i<=11; i++){
		if ( d[i]>0 ) p=i;
		if (p!=0) break;}
	for (i=p; i<=11; i++) 
			sum=sum+d[i];
	
		cout<<"\n max="<<max;
		cout<<"\n sum="<<sum;
		cout<<"\n p"<<p;
			_getch();
		return 0;
}
From Stilet: Код нужно оформлять по правила, иначе тема будет закрыта.

Последний раз редактировалось Stilet; 25.05.2014 в 10:08.
Александр112 вне форума Ответить с цитированием
Старый 25.05.2014, 07:43   #2
_BYTE
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 56
По умолчанию

код по правилам оформляй...

Код:
int n1 = 999, n2 = 999;
double mul = 1;

for(int i = 0; i < 11; i++)
{
	if((n1 == 999) && (d[i] == 0)) {n1 = i; continue;}
	if((n1 != 999) && (d[i] == 0)) n2 = i;
}

for(int i = n1+1; i < n2; i++)
	mul *= d[i];
да кстати нахождение максимального элемента у тебя тоже не правильно реализовано

Последний раз редактировалось _BYTE; 25.05.2014 в 17:08.
_BYTE вне форума Ответить с цитированием
Старый 25.05.2014, 08:59   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Второе задание у меня получилось таким:

Код:
#include <iostream>
#include <locale>

using namespace std;

const int N = 15;

int main() {
	int arr[N] = {0, 5, 6, 7, -5, 2, -3, 0, -4, -1, 6, 7, 9, 0, -2};
	int one;
	int two;
	bool flag = false;
	int pr = 1;

	setlocale(0, "rus");
	
	cout << "\n Исходный массив:\n ----------------" << endl;
	/* Вывод исходного массива */
	for(int i = 0; i < N; i++) {
		cout << " [" << arr[i] << "]";
	}
	cout << endl;

	/* Нахождение 1-го и 2-го нулевых элементов */
	for(int i = 0; i < N; i++) {
		
		if(arr[i] == 0 && !flag) {
			one = i;
			flag = true;
			continue;
		}
		
		if(arr[i] == 0 && flag) {
			two = i;
			break;
		}
	}
	
	/* Вывод массива и подсчет произведения */ 
	cout << "\n Массив для подсчета произведения:\n ---------------------------------" << endl;
	for(int i = (one + 1); i < two; i++) {
		cout << " [" << arr[i] << "]";
		pr *= arr[i];
	}
	cout << endl;

	cout << "\n Произведение элементов: " << pr << endl;
	return 0;
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44