IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Опять массивы
zloy_pes
сообщение 1.12.2005 23:51
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 53
Пол: Мужской
Реальное имя: Веселовский Пётр Николаевич

Репутация: -  0  +


Надеюсь я не сильно надоедаю своими дурацкими задачами smile.gif
Вот код:

program _2;
uses crt;
const k=100;
type intarr=array[1..k] of integer;
type arr=array[1..k] of real;
var n,i,j,c,f:integer;
a,h,x:real;
R:arr;
numofneg:intarr;

procedure writearray(n:integer; R:arr);
var i:integer;
begin
for i:=1 to n do writeln('R[',i,']=',R[i]);
end;

function findmaxn(n:integer; R:arr):integer;
var c,i:integer;
max:real;
begin
c:=0;
max:=R[1];
for i:=1 to n do begin if max<R[i] then begin max:=R[i]; findmaxn:=i; end; end;
end;

begin
c:=0;
j:=0;
clrscr;
writeln('Input following values (N must be less then 20):');
repeat begin write('N='); readln(n); end;
until n<20;
write('X='); readln(x);
write('H='); readln(h);
write('A='); readln(a);
for i:=1 to n do R[i]:=0.8*cos(a*x+i*h);
writeln('Your array R is:');
writearray(n,R);
writeln('---------------------');
for i:=findmaxn(n,R) to n do if R[i]>0 then begin inc(j); numofneg[j]:=i; end;
writeln(findmaxn(n,R));
writeln('---------------------');
{вот тут как мне кажется ошибка->} for i:=1 to j do begin for f:=numofneg[i] to n-j do begin inc©; R[f]:=R[f+1]; end; end;
writeln('After deliting we have:');
writearray(c,R);
readln;
end.


Задание такое:
1. Вычеслить массив R в соответствии с формулой r(i)=0,8*(a*x+h*i), где i=1..n, n<20, x,h,a - действительные числа, ввод. с клавы. массив вывести на экран. - с этой задачей койкак справился,
2. В R удалить все положительные элементы, расположенные после максимального элемента. - когда запувскаю - он выполняет не то, что хотелось бы sad.gif
ЗЫ в программе numofneg - массив в котором сохраняются номера положительных элементов после маскимального, findmaxn - функция находит номер максимального элемента.

Сообщение отредактировано: zloy_pes - 1.12.2005 23:53


--------------------
Money, hoes, cars and clothes
That's how all my niggaz know
Blowin dro, 24's
That's how all my niggaz roll...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 16:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"