• Паскаль помогите пжл!!!!!!

     

     

    Дан одномерный массив, состоящий из  вещественных элементов. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами.

     

     

     

    Дан одномерный массив, состоящий из  вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами

     

     

    ну или исправьте мое пжл

     

    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]<min then begin
    max:=mas[i];
    b:=i;
    end;
    end;
    close(f1);
    assign (g, 'output.txt');
    rewrite (g);
    p:=1;
    if b<c then I:=b+1 and c-1

    else for I:=c+1 to b-1 do p:=p*mas[i];

    if (n<3) or (b+1=c) or (c+1=b) then writeln(g,'0.00') else write(p:3:3) ;

    close (g);
    end.

Ответы 1

  • // 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 << "Преобразованный массив:"; for (int counter = 0; counter < length_array; counter++) { cout << relocation_arrayPtr[counter] << " "; } cout << endl; // высвобождение памяти отводимой под одномерный динамический массив: delete [] arrayPtr; delete [] relocation_arrayPtr; system("pause"); return 0;

     

     

     

      

    • Автор:

      ashohjc
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years