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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2011, 12:53   #1
V666AD
 
Регистрация: 08.12.2011
Сообщений: 4
Сообщение PASCAL Массивы

Дан массив размера N. Сформировать новый массив, в который поместить элементы старого, начиная от k до k+7 позиции. В новом массиве найти среднее арифметическое максимального и минимального элементов.
V666AD вне форума Ответить с цитированием
Старый 08.12.2011, 13:48   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Свое что-то есть? Если нет -- во фриланс.
Или сразу ко мне в аську.
Сделаю очень быстро и недорого.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 08.12.2011, 14:46   #3
V666AD
 
Регистрация: 08.12.2011
Сообщений: 4
Сообщение

Есть! Вот!
var a,b:array[1..100] of integer;
sred:real;
n,min,max,i,z,j,k:integer;
begin
writeln('vvedite n');
readln(n);
for i:=1 to n do
readln(a[i]);
writeln('vvedite k');
readln(k);
z:=1;
for i:=1 to n do
if i=k then
begin
for j:=i to i+7 do
begin
b[z]:=a[j];
inc(z);
end;
end;
min:=b[1];
max:=b[1];
for i:=1 to 7 do
if b[i+1]>min then
max:=b[i+1]
else min:=b[i+1];
sred:=(max+min)/2;
for i:=1 to 8 do
write(b[i],' ');
writeln;
writeln('maximal=',max);
writeln('minimal=',min);
writeln('sred arifm max i min=',sred);
end.
V666AD вне форума Ответить с цитированием
Старый 08.12.2011, 15:14   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Код:
for i:=1 to 7 do
if b[i+1]>min then
max:=b[i+1]
else min:=b[i+1];
Надо так:
Код:
for i:=2 to 8 do begin
    if b[i] > max then
        max := b[i]
    if b[i] < min then
        min := b[i]
end;
И не забывай форматировать код (кнопочка с решеткой)

ЗЫ еще было бы неплохо сделать проверку на выход за пределы массива. Ну, если, например, исходный массив из 15 элементов, а k вводят равное, к примеру, 11.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062

Последний раз редактировалось Mandrivnyk; 08.12.2011 в 15:17.
Mandrivnyk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal. Массивы. and-nmr Помощь студентам 0 31.03.2011 13:58
Pascal (массивы) 4otenado Помощь студентам 3 21.02.2010 15:57
Массивы в Pascal Шахрия Помощь студентам 2 13.10.2009 20:01
pascal, массивы nastya8984999 Помощь студентам 1 31.03.2009 20:12
Массивы в Pascal Alex XXX Помощь студентам 4 21.04.2008 02:16