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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2009, 18:40   #11
Roll1n
Пользователь
 
Регистрация: 04.01.2009
Сообщений: 30
По умолчанию

Код:
{Лабораторная работа 1}
Program lab2;
Uses Crt;
Const lmax=1000;{максимальная длина массивов}
Type mass=array[1..lmax] of real;
Var R:mass;
i,k,n,nmin:integer;
a,x,h,min:real;
begin
clrscr;
writeln('Лабораторная работа 2');
{задание 1}
writeln('Задание 1');
{ввод исходных данных для задания  1};
writeln('Введите длину массива до 1000');
read (n);
writeln('Введите "a" , "x" , "h" ');
read(a,x,h);
for i:=1 to n do begin
R[i]:= 1.5*cos(3*a*x+i*h);
write('   R[', i ,']=',R[i]:5:3);
end;
for i:=1 to n do
if r[i]<min then
begin
min:=r[i];
nmin:=i;
end;
for i:=1 to n do
if r[i]<0 then r[i]:=r[i+1];
for i:=1 to n do
write(r[i]:4:2, ' ');
end.
Вот,но это без 3го задания
Roll1n вне форума Ответить с цитированием
Старый 29.09.2009, 19:56   #12
Roll1n
Пользователь
 
Регистрация: 04.01.2009
Сообщений: 30
По умолчанию

никто не может доделать?
Roll1n вне форума Ответить с цитированием
Старый 29.09.2009, 23:42   #13
.Phoenix
Форумчанин
 
Регистрация: 02.04.2009
Сообщений: 235
По умолчанию

Код:
Program lab2;
{$APPTYPE CONSOLE}
uses
  SysUtils;

Const lmax=1000;{максимальная длина массивов}
Type mass=array[1..lmax] of real;
Var R,Q:mass;
i,n,nmin,k,g:integer;
a,x,h,min,sum,rez:real;
begin
writeln('Lab 2');
{задание 1}
writeln('z 1');
{ввод исходных данных для задания  1};
writeln('Dlina massiva');
readln(n);
writeln('vvedi "a" , "x" , "h" ');
readln(a,x,h);
min:=MaxInt;
for i:=1 to n do begin
R[i]:= 1.5*cos((3*a*x)+(i*h));
writeln(' R[', i ,']=',R[i]:5:3);
end;
{задание 2}
for i:=1 to n do
if r[i]<min then
begin
min:=r[i];
nmin:=i;
end;
g:=0;
writeln('Minimalnoe zna4enie ',min:4:2,' ', nmin);{определние положения минимального числа}
for i:=1 to nmin do
  begin
        if r[i]>0 then
            begin
            q[i]:=r[i]; {создаем новый массив из пололжительных чисел}
            g:=g+1;
            end;
  end;

for i:=1 to g do
writeln(q[i]:3:2, ' '); {вывод нового массива}
sum:=0;
for i:=2 to g-1 do
sum:=sum+ q[i];
writeln('Avg= ',sum/(g-2));
readln;
end.
Цитата:
Вот код, но есть один баг, иногда в самом начале после удаления стоит сразу 0 это не правильно, но в большинстве случаев работает.
Всё гениальное - просто!
.Phoenix вне форума Ответить с цитированием
Старый 29.09.2009, 23:43   #14
.Phoenix
Форумчанин
 
Регистрация: 02.04.2009
Сообщений: 235
По умолчанию

Главное помни! Что Третьему параметру, никогда не задвай значение 0, иначе во всех элементах массива будут одинаковые числа!
Всё гениальное - просто!
.Phoenix вне форума Ответить с цитированием
Старый 29.09.2009, 23:56   #15
Roll1n
Пользователь
 
Регистрация: 04.01.2009
Сообщений: 30
По умолчанию

Спасибо огромное.есть один вопрос

uses
SysUtils


что это такое?)
Roll1n вне форума Ответить с цитированием
Старый 29.09.2009, 23:59   #16
Roll1n
Пользователь
 
Регистрация: 04.01.2009
Сообщений: 30
По умолчанию

Просто у мя паскаль(абс) и это команда не работает.
Roll1n вне форума Ответить с цитированием
Старый 30.09.2009, 00:24   #17
.Phoenix
Форумчанин
 
Регистрация: 02.04.2009
Сообщений: 235
По умолчанию

Убери её, я в среде Delphi пишу, поэтому, а так добавь как обычно
Код:
Uses CRT;
....
begin
clrscr;
Всё гениальное - просто!
.Phoenix вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множество, очень замудренно, паскаль АБС Архат Паскаль, Turbo Pascal, PascalABC.NET 5 14.06.2009 15:30
Рекурентное соотношение на Паскаль АБС Архат Паскаль, Turbo Pascal, PascalABC.NET 0 14.06.2009 13:10