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

Визуальное Прогр. Язык С++ . Начинающий

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Задача:Найти произведение элементов одномерного массива, расположенных между максимальным и минимальным элементами.
Язык с++.
Builder 6


Пробовала по разному, но толком ничего не выходит, вот неработающий кусок программы:

в начале объявлено:
char s[200];
int A[50],dim=1;

затем:
C++:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (Edit2->Text!="")
{
dim=strlen(Edit2->Text.c_str());
Label4->Caption="размерность массива: "+FloatToStr(dim);
for (int i=0; i<dim; i++)
{
A[i]=Edit2->Text[i];
}
/*
strcpy(s,Edit2->Text.c_str());
istringstream istr(s);
for( int i=0;i<dim;i++)
{
istr>>A[i];
} */

int max=0;
bool f=false;
for(int i=1; i<dim; i++)
if (A[max]<A[i])
{
max=i;
f=true;
}
if(!f && A[max]==A[1])
{
Label4->Caption= "Максимума нет";
}
Label4->Caption=IntToStr(A[max]);
int min=0;
for(int i=1; i<dim; i++)
if (A[min]>A[i])
{
min=i;
}
Label4->Caption=IntToStr(A[min]);
int pr; // искомое произведение
if ( min<max) 
{
pr=1;
for (int i=min;i<=max;i++)
pr=pr*A[i];
}
else
{
pr=1;
for (int i=max;i<=min;i++)
pr=pr*A[i];
}
Label4->Caption=IntToStr(pr);
}
}

представлено 2 способо загнать эл-ты строки в массив А но ни то, ни то не работает......подскажите как это сделать кто знает.
 
L

lazybiz

Давай по порядку.
Максимальный элемент в массиве можешь найти?
А минимальный?
А произведение элементов в массиве от индекса i до индекса j (включительно) ?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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