Консультация № 189993
07.11.2016, 20:25
0.00 руб.
0 1 0
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Написать программу по обработке одномерных массивов. Размеры массивов вводить с клавиатуры. В консольном приложении предусмотреть возможность ввода данных как с клавиатуры, так и с использованием функции random().
При создании оконного приложения скалярный (простой) результат выводить в виде компоненты Label, а массивы вводить и выводить с помощью компонент StringGrid.
В одномерном массиве, состоящем из n вводимых с клавиатуры целых элементов, вычислить:
4. Сумму элементов массива, расположенных между первым и последним положительными элементами.

программирования в среде C++ Builder,оконное приложение

Обсуждение

давно
Посетитель
400659
2
08.11.2016, 12:43
общий
Ошибка где-то при нахождении положительных элементов.массив создается и работает.
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <math.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int n = 4;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
randomize();
Edit1->Text=IntToStr(n);
StringGrid1->ColCount=n;
for(int i=0; i<n;i++)
StringGrid1->Cells[i][0] = IntToStr(random(21)-10);



}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
n=StrToInt(Edit1->Text);
if(n>10){
ShowMessage("Ìàêñèìàëüíîå êîëè÷åñòâî 10!");
n=10;
Edit1->Text = "10";
}
if(n<1){
ShowMessage("Ìèíèìàëüíîå êîëè÷åñòâî 1!");
n=1;
Edit1->Text="1";
}
StringGrid1->ColCount=n;
for(int i=0; i<n;i++)
StringGrid1->Cells[i][0]=IntToStr(random(21)-10);


}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button2Click(TObject *Sender)
{
int a[10],n,i,j,h,sum=0;

for(i=0; i<n;i++)
a[i]=StrToInt(StringGrid1->Cells[i][0]);

for(i=0;i<n;i++)
{
if(a[i]>0) j=i ;
else sum=0;
Label3->Caption="Îùèáêà";
}

for(i=n;(j+1)<n;i--)
{
if(a[n]>0) h=n;
else sum=0;
Label3->Caption="Îøèáêà";
}

for(i=(j+1);i<(h-1);i++)
sum+=a[i];
Label3->Caption="+IntToStr(sum)";





}

Форма ответа