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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2008, 13:56   #1
мандаринка
 
Регистрация: 16.12.2007
Сообщений: 4
По умолчанию задачки

Пожалуйста, умоляю, помогите решить задачи по Паскалю.
1. Дан массив (randomize использовали). Все номера умножить на последний номер.

2. Дан массив A[i]. Массив B[i] надо сделать так, чтобы каждое число в B было среднеорифметическим от A до того номера. Не помню точно формулировку ,имеется такая запись-пояснение: В[2]=А[1]+А[2]/2 далее А[1]+А[2]+А[3]/3 и т.п.

Во всех задачах A[1..10] и A[i]=random (1000).

Благодарю заранее. Вы меня спасете:

Последний раз редактировалось мандаринка; 02.02.2008 в 14:42.
мандаринка вне форума Ответить с цитированием
Старый 02.02.2008, 15:52   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

2)

Код:
ch := 0;
For i := 1 To N Do
  Begin 
    ch := ch + A[i];
    B[i] := ch / 2;
  End;
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 02.02.2008, 16:42   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Задача 1.
Код:
uses crt;
var a,b:array[1..10]of longint;
    i,n:byte;
begin
clrscr;
randomize;
for i:=1 to 10 do
  begin
    a[i]:=random(1000);
    write(a[i],' ');
  end;
writeln;
for i:=1 to 10 do
  begin
    a[i]:=a[i]*a[10];
    write(a[i],' ');
  end;
readln
end.
Задача 2.
Код:
uses crt;
var a:array[1..10]of integer;
    b:array[1..10]of real;
    i,j:byte;sum:integer;
begin
clrscr;
randomize;
for i:=1 to 10 do
   begin
     a[i]:=random(1000);
     write(a[i],' ');
   end;
writeln;
for i:=1 to 10 do
   begin
    sum:=0;
    for j:=1 to i do
      begin
       sum:=sum+a[j];
      end;
    b[i]:=sum/i;
    write(b[i]:8:2);
   end;
readln
end.
puporev вне форума Ответить с цитированием
Старый 02.02.2008, 17:02   #4
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Меня немножко поправил комрад _Dmitry и пожалуй я покажу свой код второй задачи.
В коде комрада puporev'a мне непонравилось использование цикла при нахождении суммы элементов. Это явно в пустую тратит время

Код:
Var A : array [1..10] of Integer;
    B : array [1..10] of Real;
    i : Byte;
    ch : Integer;

Begin
Randomize;
for i := 1 To 10 Do
   Begin
     A[i] := Random(10);
     Write(A[i],' ');
   End;

Writeln;
ch := 0;
For i := 1 To 10 Do
  Begin
    ch := ch + A[i];
    B[i] := ch / i;
  End;

For i := 1 To 10 Do Write(B[i]:3:2,' ');
Readln;
End.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...

Последний раз редактировалось Карась; 02.02.2008 в 17:05.
Карась вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачки на Си Cyn4uk Помощь студентам 3 06.12.2007 23:51
Задачки по С Aero Помощь студентам 3 04.10.2007 18:41