Другие языки программирования и технологии
помогите решить программу на паскале
в одномерном массиве состоящие из n вещественных элементов вычислить: 1)количество элементов массива,равных нулю; 2)сумму элементов массива,расположенных после минимального элемента.упорядочить элементы по возрастанию модулей
program N58204092;
var a:array[1..100] of real;
n,i,j,imin,nzero:integer;
s,tmp:real;
begin
write('Введите размер массива: ');
readln(n);
writeln('Исходный массив: ');
randomize;
nzero := 0;
for i := 1 to n do
begin
a[ i ] := (random(201) - 100) / 10;
write(a[ i ]:8:1);
if (i = 1) or (a[ i ] < a[ imin ]) then imin := i;
if a[ i ] = 0 then inc(nzero); {или nzero := nzero + 1;}
end;
writeln;
writeln('Количество нулевых элементов ',nzero);
s := 0;
for i := imin + 1 to n do
s := s + a[ i ];
writeln('Сумма элементов после минимального ',s:0:1);
{Сортировка массива методом выбора}
for i := 1 to n-1 do
begin
for j := i to n do
if (j = i) or (abs(a[ j ]) < abs(a[ imin ])) then imin := j;
tmp := a[ i ];
a[ i ] := a[ imin ];
a[ imin ] := tmp;
end;
writeln('Упорядоченный массив: ');
for i := 1 to n do
write(a[ i ]:8:1);
readln
end.
Но при использовании генератора псевдослучайных чисел, вероятность появления нулевого элемента мала и чаще всего их количество будет равно нулю.
Если вас это не устраивает, сделайте ввод элементов массива с клавиатуры:
write('Введите размер массива: ');
readln(n);
nzero := 0;
writeln('Введите элементы массива: ');
for i := 1 to n do
begin
write('A[',i,']: ');
readln(a[ i ]);
if (i = 1) or (a[ i ] < a[ imin ]) then imin := i;
if a[ i ] = 0 then inc(nzero); {или nzero := nzero + 1;}
end;
P.S. Мне интересно, на каком это курсе так массово повалили однотипные задачи на обработку одномерных массивов?
var a:array[1..100] of real;
n,i,j,imin,nzero:integer;
s,tmp:real;
begin
write('Введите размер массива: ');
readln(n);
writeln('Исходный массив: ');
randomize;
nzero := 0;
for i := 1 to n do
begin
a[ i ] := (random(201) - 100) / 10;
write(a[ i ]:8:1);
if (i = 1) or (a[ i ] < a[ imin ]) then imin := i;
if a[ i ] = 0 then inc(nzero); {или nzero := nzero + 1;}
end;
writeln;
writeln('Количество нулевых элементов ',nzero);
s := 0;
for i := imin + 1 to n do
s := s + a[ i ];
writeln('Сумма элементов после минимального ',s:0:1);
{Сортировка массива методом выбора}
for i := 1 to n-1 do
begin
for j := i to n do
if (j = i) or (abs(a[ j ]) < abs(a[ imin ])) then imin := j;
tmp := a[ i ];
a[ i ] := a[ imin ];
a[ imin ] := tmp;
end;
writeln('Упорядоченный массив: ');
for i := 1 to n do
write(a[ i ]:8:1);
readln
end.
Но при использовании генератора псевдослучайных чисел, вероятность появления нулевого элемента мала и чаще всего их количество будет равно нулю.
Если вас это не устраивает, сделайте ввод элементов массива с клавиатуры:
write('Введите размер массива: ');
readln(n);
nzero := 0;
writeln('Введите элементы массива: ');
for i := 1 to n do
begin
write('A[',i,']: ');
readln(a[ i ]);
if (i = 1) or (a[ i ] < a[ imin ]) then imin := i;
if a[ i ] = 0 then inc(nzero); {или nzero := nzero + 1;}
end;
P.S. Мне интересно, на каком это курсе так массово повалили однотипные задачи на обработку одномерных массивов?
1)
count:=0;
for I;=1 to n do
if mas[ i] = 0 then inc(count);
дальше сама) нашла мин элемент. с его номера до конца просумировала. потом уорядочивание
count:=0;
for I;=1 to n do
if mas[ i] = 0 then inc(count);
дальше сама) нашла мин элемент. с его номера до конца просумировала. потом уорядочивание
Похожие вопросы
- Помогите решить программу в паскале)
- ПОЖАЛУЙСТА ПОМОГИТЕ РЕШИТЬ ПРОГРАММУ НА ПАСКАЛЕ!
- Помогите составить программу на паскале!
- помогите с программами в паскале
- Пожалуйста, будтье так добры, помочь решить задчаку в Паскале: Составьте программу, печатающую последнее слово в ...
- Помогите решить задачи по Паскалю
- помогите решить задачу на паскале: напечатать "столбиком" значения sin2, sin3, ..sin 20.
- Помогите решить программу (паскаль)
- помогите доработать программу в паскале пожалуууйста
- Помогите решить, пожалуста (ТУрбо Паскаль)