Составить программу для решения следующей : дан массив целых чисел, заполненный случайными числами в диапазоне [-100, 100]. замените все отрицательные элементы максимальным. выведите на экран исходный и измененный массивы.
{Отряд — формирование, состоящее из нескольких человек, достаточно большой численности, сформированное с той или иной целью} //Но будь по Вашему, мне не сложно //Dev-C++ 4.9.9.2
#include <iostream> #include <string> using namespace std;
1.В машинном представлении количество возможных значений чисел конечно Да, это верно. Для любых типов и форматов чисел оно ограничено длиной разрядной сетки, в которой представляются эти числа. 2.Не существует наибольшего вещественного числа в машинном представлении Нет, неверно. Поскольку количество возможных значений чисел конечно (см. 1), то существуют их наибольшее и наименьшее значение в представлении. 3.Результаты вычислений для вещественных чисел будут совершенно точными Нет, неверно. Не любое десятичное число может быть точно представлено в двоичной системе, тем более, при ограниченной длине разрядной сетки. 4.Результаты вычислений для вещественных чисел будут заведомо неточными, содержащими неизбежную погрешность. Верно не всегда. Если исходные числа и результат операции между ними точно представляются на разрядной сетке, то и результат вычислений будет точным. 5.Вещественные числа в компьютере заменяются их кодами, которые образуют конечное дискретное множество. Фактически так оно и происходит.
i,max:integer;
ar:array[0..200] of integer;
begin
randomize;
max:=0;
for i:=1 to 200 do begin
ar[i]:=random(200+1)-100;
if (ar[i] > max) then max:=ar[i];
if (i mod 20=0) then writeln(ar[i]) else write(ar[i],' ');
end;
writeln();
for i:=1 to 200 do begin
if (ar[i] < 0) then ar[i]:=max;
if (i mod 20=0) then writeln(ar[i]) else write(ar[i],' ');
end;
end.