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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2009, 14:02   #1
Nastya123
 
Регистрация: 12.04.2009
Сообщений: 8
По умолчанию Помогите найти ошибку в задаче на С++

В одномерном массиве, состоящем из 10 вещественных элементов нужно вычислить произведение элементов, расположенных между максимальным и минимальным элементами.

Вот я пыталась решить, но программа работает неправильно.
Пожалуйста, подскажите, где здесь ошибка.


#include "iostream.h"
#include "math.h"
int a[10];
void main ( )
{
int i,sum=1,max,min,nomermax,nomermin;
for (i=0;i<10;i++)
cin>>a[i];
max=a[0];
for (i=1;i<10;i++)
nomermax=0;
if (max<a[i])
{
max=a[i];
nomermax=i;
}
min=a[0];
nomermin=0;

for (i=1;i<10;i++)
if (min>a[i])
min=a[i];
nomermin=i;
if (abs(nomermax-nomermin)==1)
cout<<"nechego proizvodit'";else
{
if (nomermin<nomermax)
for (i=nomermin+1;i<nomermax;i++)
sum=sum*a[i];
if (nomermin>nomermax)
for (i=nomermax+1;i<nomermin;i++)
sum=sum*a[i];}

cout<<sum;
}
Nastya123 вне форума Ответить с цитированием
Старый 26.05.2009, 14:08   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
#include <iostream.h>
#include <math.h>
#include <conio.h>

int main ( )
{
int a[10];
int i,max,min,S,tmp;
for (i=0;i<10;i++)
 cin>>a[i];

max = min = 0;
for(i=0; i<10; i++)  // ищем индексы минимума и максимума
 {
  if(a[i]>a[max]) max=i;
  if(a[i]<a[min]) min=i;
 }

if(min>max) // если минимум правее, то обмениваем индексы
 {
  tmp = min;
  min = max;
  max = tmp;
 }
S = 1;
for(i=min+1; i<max; i++)  // идем от левой границы к правой
 S *= a[i];

if(min!=max) cout<<"S = "<<S<<endl; // если минимум и максимум - не один и тот же элемент
else cout<<"Net elementov\n";
getch();
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 26.05.2009, 14:18   #3
Nastya123
 
Регистрация: 12.04.2009
Сообщений: 8
По умолчанию

Большое спасибо!
Nastya123 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в задаче! dimmkka Помощь студентам 2 20.02.2009 20:09
помогите пожалуйста найти ошибку в задаче! Fatality Помощь студентам 2 15.01.2009 16:22
помогите найти ошибку в задаче. Wia Помощь студентам 1 16.12.2008 19:15
помогите найти ошибку в задаче. Wia Помощь студентам 1 14.12.2008 17:19
Помогите найти ошибку в задаче Filosofijka Паскаль, Turbo Pascal, PascalABC.NET 34 04.12.2008 13:36