Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач на Pascal. Форум 2
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]
Модераторы: paradise, KMA
  

MzSpider



Новичок


Цитата: ksiom написал 15 июля 2009 22:14
enigma
№3

var
 b:array[1..20]of real;
 i:integer;
begin
 randomize;
 
 for i:=1 to 20 do
   b[ i ]:=1+random(99);
   
 for i:=1 to 20 do
   if b[ i ]>0 then b[ i ]:=b[ i ]*3
   else b[ i ]:=b[ i ] / 8;

end;

Если не устраивает функция div, то меняй на обычное деление, но придется изменить тип массива.

KMA: читайте задание внимательно (в три раза, а не на 3 и если используете div, то div и пишите, а не деление. В задаче сказано в 8 раз, значит прямая операция деления, поэтому лучше использовать real.

Извини, что поправил пост.

И еще если пишешь i в квадратных кавычках, то пиши так [ i ] или [i ] или [ i] но никак не слитно все. Подробности в правилах.




(Сообщение отредактировал KMA 15 июля 2009 23:24)


тут рандом ненужен можно и так сделать , можно считать из фаила
1ая строка содержит кол-во чисел в масиве (N) 2ая строка сам массив(на олимпиадах везде так)
for i := 1 to n do begin
If mas[ i ] > 0 then mas[ i ] := mas[ i ] * 3; (подправте если неправельно я не помню формулу возведение в степень)
If mas[ i ] < 0 then mas[ i ] := mas[ i ] / 8;
end;


(Сообщение отредактировал MzSpider 19 июля 2009 11:32)

Всего сообщений: 19 | Присоединился: июль 2009 | Отправлено: 19 июля 2009 8:28 | IP
malova83


Новичок

Помогите добить задачку....что то не выходит...выдает ошибку при проверке...

найти сумму n элементов бесконечного ряда с помощью оператора цикла с предварительным условием...
y=-4+8-16+32-64.....
вот код:
var i,j,zn,n:integer;
s:real;
begin
clrscr;
writeln;
writeln('naiti summy elementov riada: y=-4+8-16+32-64...');
writeln('');
writeln('vvedite kolichestvo elementov ryada');
write('N=');
readln(n);
s:=1;
for i:=1 to n do begin
zn:=1;
for j:=1 to i+1 do begin
zn:=zn*(-1);
end;
s:=s+(-zn*(exp(1+i)*ln(2)));
end;
writeln('summa ryada s=',s:3:0);
readln;
end.

Всего сообщений: 1 | Присоединился: август 2009 | Отправлено: 28 авг. 2009 22:02 | IP
paradise


Долгожитель


Цитата: malova83 написал 28 авг. 2009 22:02
Помогите добить задачку....что то не выходит...выдает ошибку при проверке...

найти сумму n элементов бесконечного ряда с помощью оператора цикла с предварительным условием...
y=-4+8-16+32-64.....
вот код:
var i,j,zn,n:integer;
s:real;
begin
clrscr;
writeln;
writeln('naiti summy elementov riada: y=-4+8-16+32-64...');
writeln('');
writeln('vvedite kolichestvo elementov ryada');
write('N=');
readln(n);
s:=1;
for i:=1 to n do begin
zn:=1;
for j:=1 to i+1 do begin
zn:=zn*(-1);
end;
s:=s+(-zn*(exp(1+i)*ln(2)));
end;
writeln('summa ryada s=',s:3:0);
readln;
end.



нечто странное у Вас в цикле...

program help;
var
  i, n: integer;
  s, sum: real;
begin
  writeln('Please, enter n: ');
  write('n = ');
  readln(n);
  sum:=0;
  for i := 1 to n do
  begin
    sum := sum + power(-1,i)*power(2,i+1);
  end;
  writeln(sum:3:0);
end.

Всего сообщений: 428 | Присоединился: ноябрь 2008 | Отправлено: 29 авг. 2009 2:32 | IP
Holden


Новичок

Ребят помогите пожалуйста решить задачку!!! Описать функцию, которая находит среднее арифметическое значение всех элементов сформированного непустого списка. Там нужно еще составить какой то динамический список!

Всего сообщений: 2 | Присоединился: сентябрь 2009 | Отправлено: 7 сен. 2009 13:47 | IP
Dale



Участник

Holden, дайте полное условие задачи

Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 8 сен. 2009 2:20 | IP
Euforia091



Новичок

люди, спасите!!помогите!! компиляция проходит, а программа не выполняется. в чем дело? :`(

Всего сообщений: 1 | Присоединился: сентябрь 2009 | Отправлено: 12 сен. 2009 15:05 | IP
Dale



Участник

Euforia091  
Тут два варианта:
1) Вы жмете f9, а надо ctrl+f9

2) Напишите в начале программы перед разделом var
uses crt;
а перед последним end ом - readkey;
или можно посмотреть результат в меню debud->output.

Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 12 сен. 2009 17:42 | IP
zhumadilov


Новичок

ПОмогите пожалуйста а то никак немогу решить
Сформировать вектор В как среднее арифметическое положительных элементов каждого столбца
Матрица А
    {0,5 9,7 8,4 6,2 }
А= { 9,57 -2,6 0,4 7,3 }
     {12,7 0,8 -6 3,2}
Задачу нужно решить на языке Турбопаскаль Pascal
Заранее огромнейшее спасибо

Всего сообщений: 2 | Присоединился: сентябрь 2009 | Отправлено: 18 сен. 2009 20:27 | IP
MzSpider



Новичок

Вот задача мб кто решит? я ее даже понять не могу )) олимпиадная задача
внешняя ссылка удалена

Всего сообщений: 19 | Присоединился: июль 2009 | Отправлено: 20 сен. 2009 13:04 | IP
Dale



Участник

zhumadilov  
Примерно так

const m=3; n=7;
var a:array[1..m,1..n]of integer;
     b:array[1..m] of real;
     i,j,c,d:integer;
.........

for i:=1 to m do begin
c:=0;
d:=0;
for j:=1 to n do begin
if a[i,j]>=0 then begin
c:=c+a[i,j];
d:=d+1;
end;
b[ i ]:=c/d;{делим сумму положительных элементов на их количество}
end;{for j}
end;{for i}
.......


(Сообщение отредактировал Dale 21 сен. 2009 8:30)

Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 21 сен. 2009 8:30 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]

Форум работает на скрипте © Ikonboard.com