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

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

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

> Опять массивы
сообщение
Сообщение #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 -


--------------------
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

 





- Текстовая версия 9.05.2024 5:26
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name