Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 3

Сумму элементов массива, расположенных между первым и вторым отрицательными элементами

03.11.2017, 16:23. Показов 5148. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу по обработке одномерных массивов. Размеры массивов вводить с клавиатуры. В консольном приложении предусмотреть возможность ввода данных как с клавиатуры, так и с использованием функции random().
При создании оконного приложения скалярный (простой) результат вы-водить в виде компоненты Label, а массивы вводить и выводить с помощью компонент StringGrid.
В одномерном массиве, состоящем из n вводимых с клавиатуры целых элементов, вычислить:Сумму элементов массива, расположенных между первым и вторым отрицательными элементами

Помогите, пожалуйста, переделать консольное приложение в оконное.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <vcl.h>
#include <iostream>
#include <stdlib.h>
#pragma hdrstop
        using namespace std;
//---------------------------------------------------------------------------
 
#pragma argsused
int main() {
int n,i,a[10],sum=0;
cout<<"Kol-vo elementov: ";
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {
        printf("a[%d]=",i);
        scanf("%d", &a[i]);
    }
cout<<a[i]<<" ";
int min=0;
int m;
int kol=0, firstNeg, nextNeg;
if (a[0]<0) {
kol++;
firstNeg=0;
}
for (int i=1; i<n; i++)
{
if (a[min]>a[i]) min=i;
if ((a[i]<0)&&kol<1) {firstNeg=i;kol++;i++;}
if ((a[i]<0)&&kol<2) {nextNeg=i;kol++;}
    }
cout<<endl;
 
for (int i=firstNeg+1; i<nextNeg; i++)
sum+=a[i];
 
cout<<"Summa = "<<sum<<endl;
system("pause");
return 0;
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.11.2017, 16:23
Ответы с готовыми решениями:

Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами
Спроектировать, создать и протестировать приложение по обработке одномерных массивов. Размеры массивов вводить с клавиатуры. ...

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

Найти сумму элементов массива, расположенных между первым и последним положительными элементами
Написать программу по обработке одномерных массивов. Размеры массивов вводить с клавиатуры. В консольном приложении предусмотреть...

1
0 / 0 / 1
Регистрация: 05.11.2017
Сообщений: 4
09.11.2017, 20:51
for (i=0;i<n;i++)
if (a[i]<0) m1=i+1; break; //находим первое отрицательное число и присваиваем к м1
for (i=m1;i<n;i++)
if (a[i]<0) m2=i; break; //начиная от первого отрицательного находим второе отрицательное число и присваиваем к м2
for (i=m1;i<m2;i++)
sum += a[i] // начиная от первого отрицательного прибавляем все элементы к сум пока не дойдет до второго отрицательного
это сам алгоритм вычисления
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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);
Label3->Hide(); 
StringGrid2->Hide();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
n=StrToInt(Edit1->Text);
if(n>10){
ShowMessage("Максимальное количество 10!");
n=10;
Edit1->Text = "10";
}   
StringGrid1->ColCount=n;
for(int i=0; i<n;i++)
StringGrid1->Cells[i][0]=IntToStr(random(21)-10);
Label3->Hide();
StringGrid2->Hide();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int i, sum = 0, a[10],m1,m2;    
for(i=0; i<n;i++)
a[i]=StrToInt(StringGrid1->Cells[i][0]);
 
for (i=0;i<n;i++)
if (a[i]<0) m1=i+1; break;
for (i=m1;i<n;i++)
if (a[i]<0) m2=i; break;
for (i=m1;i<m2;i++)
sum += a[i] 
 
StringGrid2->ColCount = kol;
StringGrid2->Show();
Label3->Show();
//элементы которые нам нужны, между первым и вторым отриц. 
for(i=m1; i<m2;i++) StringGrid2->Cells[i][0]=IntToStr(a[i]);
// и их сумма на компоненте Мемо
Memo1->Lines->Add(“Сумма =(sum));
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.11.2017, 20:51
Помогаю со студенческими работами здесь

Вычислить сумму элементов массива, расположенных между первым и последним нулевыми элементами
Написать программу по обработке одномерных массивов. Размеры массивов вводить с клавиатуры. Предусмотреть возможность ввода данных как с...

Найти сумму элементов массива, расположенных между первым и последним нулем
Здравствуйте. Я, вроде бы написал программу, но она у меня почему-то не запускается, при чем безо всякой ошибки. Проверьте, пожалуйста,...

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Здравствуйте, помогите мне пожалуйста реализовать данный пример. Произведение элементов массива, расположенных между максимальным по...

Найти сумму элементов массива, находящихся между его максимальным и минимальным элементами
Как найти суму элементов масива что находятся между максимальным и минимальным элементом масива, в среде Builder C++

Сумму элементов массива, расположенных между первым и вторым отрицательными элементами
1)Сумму элементов массива, расположенных между первым и вторым отрицательными элементами 2) а так же количество элементов массива больших...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru