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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2009, 01:01   #1
zloygeniyrus
 
Регистрация: 21.03.2009
Сообщений: 5
По умолчанию Программа на ТР

Даны натуральные числа n,b0,...,bn.Вычислить f(bo)+(b1)+...(bn),где f(x)=x в квадрате,если x кратно 3;f(x)=x,если x при делении на 3 дает остаток 1;
f(x)=x/3-в остальных случаях.

Заранее спасибо!

program Pe4enka;
USES CRT;
var
s:real;
n,a,i:integer;
begin
clrscr;
S:=0;
write('Enter N: ');
readln(n);
writeln('Enter elements');
for i:=1 to n do
begin
read(A);
case (a mod 3) of
0: S:=S+a*a;
1: S:=S+a;
else S:=S+a/3;
end;
end;
write('S=',S:5:5);
readkey;
end.
Но эт больше на бред смахивает=)

Тут вроде цикл и разветвление....
zloygeniyrus вне форума Ответить с цитированием
Старый 22.03.2009, 01:03   #2
zloygeniyrus
 
Регистрация: 21.03.2009
Сообщений: 5
По умолчанию

uses crt;
const nmax=50;{максимальный размер массивов}
type Tnatur=1..maxint;{тип натуральные числа}
var n,i:byte;
b:array[0..nmax] of Tnatur;{исходный массив}
f:array[0..nmax] of real;{результирующий массив}
begin
clrscr;
randomize;{генерация псевдослучайных чисел}
repeat
write('n=');{вводим размер массива с проверкой правильного ввода}
readln(n);
until (n>0)and(n<=nmax);
writeln('Ishodnyj massiv:');
for i:=0 to n do
begin
b[i]:=random(20)+1;{псевдослучайные числа в инт. 1-20}
write(b[i],' ');
end;
writeln;
writeln;
writeln('Rezultat:');
for i:=0 to n do
begin
if b[i] mod 3=0 then f[i]:=sqr(b[i]){если кратно 3}
else if b[i] mod 3=1 then f[i]:=b[i]{если в остатке 1}
else f[i]:=b[i]/3;{если в остатке 2}
write(f[i]:7:2);{выводим в форматированном виде, 7 позиций под число, 2 знака после запятой}
end;
readln
end.

какбэ так...

В общем помогите написать полностью рабочую и красиво выглядящую прогу)
заранее ОГРОМНОЕ спасибо
p.s Надеюсь теперь я никаких правил форума не нарушил...
zloygeniyrus вне форума Ответить с цитированием
Старый 22.03.2009, 01:27   #3
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

Код:
program project;
const
 n = 5;
 b : array [0..n] of word = (0,1,2,3,4,5);
var
 i : byte;
 sum : real;
begin
  sum:=0;
  for i:=0 to n do
   if b[i] mod 3 = 0 then sum:=sum+sqr(b[i])
   else
    if b[i] mod 3 = 1 then sum:=sum+b[i]
    else sum:=sum+b[i]/3;
  writeln (sum:0:2);
  readln
end.
capta1n вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа. Asentian Фриланс 14 25.04.2010 17:30
Программа Fartyna3000 Операционные системы общие вопросы 4 07.12.2008 20:36
Программа Fartyna3000 Операционные системы общие вопросы 4 06.12.2008 23:39