Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

(Pascal)В одномерном массиве

17K
05 декабря 2006 года
Tray
5 / / 04.10.2006
Плизз, очень срочно надо сделать зачётную работу! На паскале!


В одномерном массиве состоящем из n вещественных элементов, вычислить:
1) максимальный элемент массива
2) Сумму элементов массива, расположенных до последнего положительного элемента
3) Сжать массив, удалив из него элементы модуль которых находиться в интервале [a,b] Освободившееся в конце массива элементы заполнить нулями
8.2K
06 декабря 2006 года
RusHak
86 / / 02.03.2006
Цитата: Tray
Плизз, очень срочно надо сделать зачётную работу! На паскале!


В одномерном массиве состоящем из n вещественных элементов, вычислить:
1) максимальный элемент массива
2) Сумму элементов массива, расположенных до последнего положительного элемента
3) Сжать массив, удалив из него элементы модуль которых находиться в интервале [a,b] Освободившееся в конце массива элементы заполнить нулями



Всю программу пока писать некогда, а вообще делаешь так:
1) запоминаешь первый элемент массива max:=x[1]
дальше в цикле проверяешь если x>m (или x[1]) значит max:=x
можешь ещё "порядковый номер" запомнить nMax:=i всё вэтом цикле
2) вобщем тоже в цикле проверяешь к примеру c конца
если элемент >0 то запоминаешь номер p:=1;
а потом в цикле суммируешь все элементы до p


 
Код:
Sum:=0;
for i:=1 to p do
Sum:=Sum+x;

3)Чё то не врубаюсь, наверное действуе то, что вторые сутки не спал.

21K
06 декабря 2006 года
HEBMEH9IEMbIu
8 / / 02.12.2006
ну как то вот так.... хотя может чето и можно было сваять покрасивее:)


Код:
program labuda;

const N=10;
var Massiv:array[1..N] of integer;
    i, j, index, max, summ, a, b: integer;

begin
Randomize;
for i:=1 to N do Massiv:= 10-2*random(10);

{----}

writeln;

max:=Massiv[1];
index:=1;
for i:=1 to N do
  begin
    if max<Massiv then
      begin
    max:= Massiv;
    index:=i;
      end;
  end;
WriteLn('maksimalniy element Massiv[',index,']=',max);

{-------------}

writeln;

index:=0;
for i:=N DownTo 1 do
  begin
    if Massiv>0 then
      begin
    index:=i;
    break;
      end;
  end;

summ:=0;
for i:=1 to index do summ:=summ+Massiv;
writeln('summirovali do ',index,' elementa, summa=',summ);

{-----}

write('vvedite a=');
readln(a);
write('vvedite b=');
readln(b);

writeln;

writeln('na4alnyy massiv');
for i:=1 to N do write(Massiv,' ');
writeln;

index:=0;
for i:=1 to N do
  begin
    if ((a<=Abs(Massiv)) and (Abs(Massiv)<=b)) then
      begin
    for j:=i to n do
      begin
        if ((a<=Abs(Massiv[j])) and (Abs(Massiv[j])<=b)) then
          begin
        summ:=Massiv[j];
        Massiv[j]:=Massiv[j+1];
        Massiv[j+1]:=summ;
          end;
      end;
    index:=index+1;
    if i=(n-index) then break;
      end;
  end;

if index>0 then
  begin
    for i:=1 To index do Massiv[n-i+1]:=0;
  end;

writeln('udaleno ', index,' elementov');
writeln('kone4ny massiv');
for i:=1 to N do write(Massiv, ' ');
readln;
end.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог