Форум программистов, компьютерный форум CyberForum.ru

Произведение элементов массива, расположенных между максимальным и минимальным элементами массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Получить действительную матрицу элемент которой равен произведению элементов данной матрицы http://www.cyberforum.ru/cpp-beginners/thread181419.html
Дана действительная матрица , i, j=1, ..., n . Получить действительную матрицу , i, j=1, ..., n, элемент bij которой равен произведению элементов данной матрицы, расположенных в области, определяемой индексами i, j так, как показано на рисунке (область залита). Начал писать код посмотрите,и подскажите пожалуйста как доделать чтобы правильно работало. #include <iostream> using...
C++ Как обычную переменную сделать константой Как можно константой сделать обычную переменную, а то хочу создать матрицу nxn а мне VS требует что бы n1 и n2 были константами, или как можно это обойти http://www.cyberforum.ru/cpp-beginners/thread181400.html
C++ error C2065: eof: необъявленный идентификатор
#include "StdAfx.h" int getline(char s, int lim) { int c,i; for(i=0; i<lim-1 && (c=getchar()) != eof && c !='\n'; i++) // ошибка в этой строке. s=c; s='\0'; i++;
Преобразовать матрицу согласно условию C++
Помогите плииз с задачкой!=) Дана целочисленная матрица размера n x m, целые числа k, l (1 ≤ k ≤ n, 1 ≤ l ≤ n, k ≠ l). Преобразовать матрицу так, чтобы строка с исходным номером k непосредственно следовала за строкой с исходным номером l, сохранив порядок следования остальных строк.
C++ Структуры. Вывод информации о товарах http://www.cyberforum.ru/cpp-beginners/thread181357.html
переделайте пожалуйста под это задание: (Продукты питания: наименование, вес, цена, срок годности. Дополнить вывод информацией о товарах, которые следует уценить (срок годности которых истекает через 2 дня или ранее).) +Данные о предметной области представлены динамическим массивом структур, содержа-щими поля согласно варианту. #include <stdafx.h> #include <iostream> #include <cctype>...
C++ Написать функцию которая может читать цифры с 1-го до n-го элемента в массиве (используя pointer) Написать функцию которая может читать цифры с 1-го до n-го элемента в массиве и выводит их. Примичание использовать pointer. Ввод: 3 1 2 3 Вывод: 1 2 3 подробнее

Показать сообщение отдельно
PatchPro
5 / 5 / 0
Регистрация: 11.04.2010
Сообщений: 40
18.05.2011, 17:25     Произведение элементов массива, расположенных между максимальным и минимальным элементами массива
Хочу выложить, может кому пригодится, такую задачу, сделанную на C++ Builder (формы)
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) сумму положительных элементов массива;
2) произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.
Упорядочить элементы массива по убыванию.
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int n,a,b,i,j,sum_pol,index_max,index_min;    //описание переменных
double *x=new double [n];                                       //описание массива x
double temp,elmax,elmin,proizv_minmax;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)       //ОБРАБОТЧИК КНОПКИ "ВВОД"
{
n=StrToInt(Edit2->Text);          //макс.кол-во элементов
 
x[i]=StrToFloat(Edit1->Text);       //Ввод нового элемента
i++;                            //увеличение счетчика
Edit1->SetFocus();                //установить фокус в Edit1
Edit1->Text="";                   //Очистка Edit1
 
if (i==n)                       //если счетчик дошел до установленного предела
{
Button1->Enabled=False;         //отключить кнопку "Ввод"
Button2->Enabled=True;          //включить кнопку "Вывод"
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)      //ОБРАБОТЧИК КНОПКИ "ВЫВОД"
{
sum_pol=0;
elmax=x[0];
elmin=x[0];
proizv_minmax=1;
for (i=0;i<n;i++)
{
Memo1->Lines->Add(x[i]);            //Вывод
if (x[i]>0) sum_pol+=x[i];                    //сумма положительных
 
 
if (abs(x[i])>elmax)                     //найти максимальный элемент
{
index_max=i;
elmax=x[i];
}
 
if (abs(x[i])<elmin)                     //найти минимальный элемент
{
index_min=i;
elmin=x[i];
}
}
 
for (i=index_min+1;i<index_max;i++) proizv_minmax*=x[i];   //произведение между минимальным по модулю и максим.
 
Label3->Caption=FloatToStr(sum_pol);
Label4->Caption=FloatToStr(proizv_minmax);
Button3->Enabled=True;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)     //ОБРАБОТЧИК КНОПКИ "УПОРЯДОЧИТЬ"
{
Memo1->Clear();                          //Очистить memo
temp=0;                                  //Сортировка по убыванию методом позырьков
for(i = 0; i < n; i++)
{
for(j=i+1;j<n;j++)
{
 if (abs(x[i])<abs(x[j]))
 {
  temp=x[i];
  x[i]=x[j];
  x[j]=temp;
 }
 
}
Memo1->Lines->Add(x[i]);                   //Вывод нового упорядоченного элемента в memo1
}
Button2->Enabled=False;                    /
Button3->Enabled=False;
}
//---------------------------------------------------------------------------
 
Текущее время: 19:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru