Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2018, 14:45   #1
Staff123
 
Регистрация: 21.12.2018
Сообщений: 3
По умолчанию Из С++ в Паскаль ABC

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

#include <iostream>
#include <time.h>
#include <windows.h>
using namespace std;

int random(int min, int max)
{
static bool first = true;
if (first)
{
srand(time(NULL));
first = false;
}
return min + rand() % (max - min);
}

int minIndex(int array[],int len)
{
int res = array[0];
int indexOF;
for(int i=0;i<len;i++)
if(res > array[i])
{
res = array[i];
indexOF = i;
}
return indexOF;
}

int maxIndex(int array[],int len)
{
int res = array[0];
int indexOF;
for(int i=0;i<len;i++)
if(res < array[i])
{
res = array[i];
indexOF = i;
}
return indexOF;
}

void sort(int arr[], int len)
{
bool flag = true;
int temp;
int numLength = len;
for(int i = 1;(i<=numLength)&&flag;i++)
{
flag = false;
for(int j=0; j<(numLength-1);j++)
{
if (arr[j+1]>arr[j])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
flag = true;
}
}
}
}

int main ()
{
int size;
int sum_negative=0;
int mul_between=1;
cout << "Enter array size: ";
cin >> size;
int arr[size];
cout << "array = ";
for(int i=0;i<size;i++)
{
arr[i]=random(-100,100);
cout << arr[i] << " ";
if(arr[i]<0)
sum_negative+=arr[i];
}
cout << endl;
cout << "sum of negative digits = " << sum_negative;
if(minIndex(arr,size)<maxIndex(arr, size))
for(int j=minIndex(arr,size)+1;j<maxIndex(a rr,size);j++)
mul_between*=arr[j];
else if(minIndex(arr,size)==maxIndex(arr ,size))
mul_between=0;
else
for(int j=maxIndex(arr,size)+1;j<minIndex(a rr,size);j++)
mul_between*=arr[j];
cout << endl;
cout << "pr between indexes " << minIndex(arr,size) << " and "
<< maxIndex(arr,size) << " = " << mul_between << endl;
sort(arr,size);
cout << "sorted array = ";
for(int k=0;k<size;k++)
cout << arr[k] << " ";
cout << endl;
return 0;
}
Staff123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль ABC maksimyshka Паскаль, Turbo Pascal, PascalABC.NET 1 25.03.2018 19:53
Паскаль ABC. Программа на языке Паскаль. Helen1 Паскаль, Turbo Pascal, PascalABC.NET 6 13.01.2018 21:46
Помогите переделать из паскаля abc в паскаль abc.net Smile189 Паскаль, Turbo Pascal, PascalABC.NET 3 09.11.2016 08:12
Паскаль ABC! Просто человек Паскаль, Turbo Pascal, PascalABC.NET 5 19.02.2015 20:20
паскаль abc. Используя графические средства языка Паскаль на одной координатной сетке построить графики функций кириллюк Помощь студентам 5 15.09.2013 12:11