В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
ryjakomsp00lne
ryjakomsp00lne
17.01.2022 00:27 •  Информатика

Паскаль дан одномерный массив, состоящий из вещественных элементов. найти произведение элементов массива, расположенных между максимальным и минимальным элементами. дан одномерный массив, состоящий из вещественных элементов. найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами ну или исправьте мое program fgf; var mas: array[1..100] of real; max,min: real; i,n,c,b: shortint; p: real; f1,g: text; begin; assign (f1, 'input.txt'); reset (f1); readln (f1, n); for i: =1 to n do read (mas[i]); max: =mas[i]; for i: =2 to n do begin if mas[i]> max then begin max: =mas[i]; c: =i; end; end; min: =mas[1]; for i: =2 to n do begin if mas[i]

Показать ответ
Ответ:
tyutyunnik2002
tyutyunnik2002
24.05.2020 22:54

// operations_array.cpp: определяет точку входа для консольного приложения.

#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;

int main(int argc, char* argv[])
{
srand(time(NULL));
setlocale(LC_ALL, "rus");
int length_array;
cout << "Укажите количество элементов массива: ";
cin >> length_array;

float *arrayPtr = new float [length_array]; // одномерный динамический массив

// заполняем одномерный массив случайными числами
for (int counter = 0; counter < length_array; counter++)
{
arrayPtr[counter] = - 5.00 + ((rand() % 101) / 10.0); // генерируем случайные числа [-5, 5]
cout << arrayPtr[counter] << " "; // вывод сгенерированного числа
}
cout << endl;

float min = arrayPtr[0]; // инициализируем первым элементом массива
int number_min = 0; // номер минимального элемента
for (int counter = 0; counter < length_array; counter++)
{
if (min > arrayPtr[counter])
{
min = arrayPtr[counter]; // минимальный элемент
number_min = counter; // номер минимального элемента
}
}
cout << "номер минимального элемента = " << (number_min + 1) << endl; // номер минимального элемента

double product = 1;
for (int counter = 0; counter < length_array; counter++)
{
if (arrayPtr[counter] < 0) // находим первое отрицательное число
{
counter++; // переключаемся на следующий элемент
while (arrayPtr[counter] > 0) // пока не нашли второе отрицательное число
{
product *= arrayPtr[counter]; // накапливаем произведение элементов
counter++;
}
break; // выход из цикла for
}
}
cout << "произведение = " << product << endl;

float *relocation_arrayPtr = new float [length_array]; // одномерный динамический массив для перестановок
int index = 0; // индекс массива перестановок

// заполняем массив элементами, модуль которых не превышает 1
for (int counter = 0; counter < length_array; counter++)
{
if (abs(arrayPtr[counter]) <= 1)
{
relocation_arrayPtr[index] = arrayPtr[counter];
index++;
}
}

// заполняем массив элементами, модуль которых больше 1
for (int counter = 0; counter < length_array; counter++)
{
if (abs(arrayPtr[counter]) > 1)
{
relocation_arrayPtr[index] = arrayPtr[counter];
index++;
}
}

// напечатать преобразованный массив
cout << "\nПреобразованный массив:\n";
for (int counter = 0; counter < length_array; counter++)
{
cout << relocation_arrayPtr[counter] << " ";
}
cout << endl;

// высвобождение памяти отводимой под одномерный динамический массив:
delete [] arrayPtr;
delete [] relocation_arrayPtr;
system("pause");
return 0;

 

 

 

  

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота