В одномерном массиве, состоящем из n вещественных элементов, вычис-
лить: 39
1) сумму положительных элементов массива;
2) произведение элементов массива, расположенных между максимальным
по модулю и минимальным по модулю элементами.
Упорядочить элементы массива по убыванию, используя алгоритм сорти-
ровки методом вставки.
Другие языки программирования и технологии
В одномерном массиве, состоящем из n вещественных элементов, вычис- лить: 39 1) сумму положительных элементов массив
module N74489141;
import std.stdio, std.random, std.math;
int main(string[] argv)
{
double [ ] a;
a.length = uniform(10, 101);
writefln("Дано n = %d", a.length);
writefln("Исходный массив A[1 .. %d]:", a.length);
size_t imax, imin;
double s = 0;
foreach(size_t i, ref x; a)
{
x = uniform(-10f, 10f);
writef("%8.3f", x);
if (x > 0)
s += x;
if (abs(x) < abs(a[imin]))
imin = i;
if (abs(x) > abs(a[imax]))
imax = i;
}
double p = 0;
for (size_t i = imin * (imin < imax) + imax * (imin > imax) + 1; i < imin * (imin > imax) + imax * (imin < imax); i++)
p = (p + !p) * a[і];
writefln("\nСумма положительных элементов = %0.3f", s);
writefln("Минимальный по модулю элемент: A[%d] = %0.3f", imin + 1, a[imin]);
writefln("Максимальный по модулю элемент: A[%d] = %0.3f", imax + 1, a[imax]);
if (!p)
writeln("Между минимальным и максимальным по модулю нет элементов");
else
writefln("Произведение элементов между максимальным и минимальным по модулю = %0.6f", p);
for (size_t i = 1; i < a.length; i++)
{
double t = a[і];
size_t j = i;
while (j > 0 && a[j - 1] < t)
{
a[j] = a[j - 1];
j--;
}
a[j] = t;
}
writeln("Упорядоченный массив: ");
foreach(x; a)
writef("%8.3f", x);
readln();
return 0;
}
import std.stdio, std.random, std.math;
int main(string[] argv)
{
double [ ] a;
a.length = uniform(10, 101);
writefln("Дано n = %d", a.length);
writefln("Исходный массив A[1 .. %d]:", a.length);
size_t imax, imin;
double s = 0;
foreach(size_t i, ref x; a)
{
x = uniform(-10f, 10f);
writef("%8.3f", x);
if (x > 0)
s += x;
if (abs(x) < abs(a[imin]))
imin = i;
if (abs(x) > abs(a[imax]))
imax = i;
}
double p = 0;
for (size_t i = imin * (imin < imax) + imax * (imin > imax) + 1; i < imin * (imin > imax) + imax * (imin < imax); i++)
p = (p + !p) * a[і];
writefln("\nСумма положительных элементов = %0.3f", s);
writefln("Минимальный по модулю элемент: A[%d] = %0.3f", imin + 1, a[imin]);
writefln("Максимальный по модулю элемент: A[%d] = %0.3f", imax + 1, a[imax]);
if (!p)
writeln("Между минимальным и максимальным по модулю нет элементов");
else
writefln("Произведение элементов между максимальным и минимальным по модулю = %0.6f", p);
for (size_t i = 1; i < a.length; i++)
{
double t = a[і];
size_t j = i;
while (j > 0 && a[j - 1] < t)
{
a[j] = a[j - 1];
j--;
}
a[j] = t;
}
writeln("Упорядоченный массив: ");
foreach(x; a)
writef("%8.3f", x);
readln();
return 0;
}
Пиши на мыло, договоримся.
Похожие вопросы
- Microsoft Visual C++ 6.0 В одномерном массиве, состоящем из n вещественных элементов, вычислить...
- Язык Си: В одномерном массиве, состоящем из n вещественных элементов, вычислить: номер максимального по модулю элемента
- задачка PAscal. найти сумму положительных элементов массива, расположенных до минимального элемента этого массива
- Помогите с массивами! Найти и вывести на экран сумму нечётных элементов массива и количество отрицательных.
- Можно-ли использовать сортировку слиянием на массиве, состоящем из 10-ти элементов.
- как при сортировке одномерного массива оставить на месте неположительные элементы
- Определить является ли кол-во положительных элементов массива числом чётных
- Задан массив размером 30 элементов. Подсчитать число и сумму положительных элементов в нем. В Паскале. через рандом чисел !
- Программа не работает как надо (С++). Задача: Вывести сумму всех элементов массива, кратных данному числу К.
- Help me!Удалить элементы кратные 2. Добавить после каждого нечетного элемента массива элемент со значением 0. си++