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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2012, 10:04   #1
Bibinur
Новичок
Джуниор
 
Регистрация: 07.12.2012
Сообщений: 5
По умолчанию одномерный массив в паскале

Доброго дня, Всем участникам данного форума.
Зарегистрировалась здесь так как не могу решить задачу, уже 3 дня сижу. Задача состоит из 4 частей
Часть I. ПОЛУЧЕНИЕ ЭЛЕМЕНТОВ МАССИВА
“Вычислить значения 30 элементов одномерного целочисленного массива ‹R› в интервале (-10 ,6) c использованием генератора случайных чисел”
Часть 2. ВЫЧИСЛЕНИЕ ПАРАМЕТРА МАССИВА
“Вычислить сумму четных по номеру элементов последней четверти массива”
Часть 3. ОПРЕДЕЛЕНИЕ ПАРАМЕТРА МАССИВА
“Определить наибольший элемент среди принадлежащих [a/2; b/2] элементов первой трети массива”
Часть 4. УПОРЯДОЧЕНИЕ ЭЛЕМЕНТОВ МАССИВА
“Упорядочить нечётные по номеру элементы второй четверти массива по возрастанию квадратов значений”

Первую и вторую часть вроде как сделала, правильно или нет не знаю, в тертьей части вывожу элемент, но не знаю как вывести его порядковый номер, а к четвертой части не приступала((((
Код:
Program Work_4; 
  const 
     N=30; 
     a=-10;
     b=6;
  Var 
     s,max,z:real;
     i,k,t: integer; 
     R:array[1..N] of Real; 
Begin 

   s:=0;
          Randomize; 
          for i:=1 to n do 
          R[i]:=a+Round((b-a)*Random(100)/100); 
          Writeln('vyvod elementov massiva:'); 
          for i:=1 to N do Write(R[i]:4); 
          Writeln; 
                k:=trunc(N/4);
                k:=N-k;
                for i:=k to N do
                if (i mod 2=0) then 
                s:=s+R[i];
                writeln ('s=',s);
                          t:=trunc(N/3);
                          for i:=1 to t do
                          begin
                          if (R[i]>=(a/2)) and (R[i]<=(b/2)) then
                          z:=R[i];
                          if (R[i]>z) then
                          max:=R[i]
                          else max:=z;
                          end;
                          writeln ('max=',max);
            
end.
Надеюсь на, Вашу, помощь




___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 07.12.2012 в 11:25.
Bibinur вне форума Ответить с цитированием
Старый 07.12.2012, 10:19   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
но не знаю как вывести его порядковый номер
Код:
for i:=1 to t do
if r[i]=max then begin (write(i,' '));break;end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 07.12.2012, 10:45   #3
Bibinur
Новичок
Джуниор
 
Регистрация: 07.12.2012
Сообщений: 5
По умолчанию

спасибо за столь быстрый ответ на мою просьбу,
у меня еще не всегда показывает правильный max для 3 части, проверьте пожалуйста, если Вас не затруднит
Bibinur вне форума Ответить с цитированием
Старый 07.12.2012, 10:48   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
max:=-999999;
for i:=1 to t do
if (R[i]>=(a/2)) and (R[i]<=(b/2)) and (R[i]>max) then
max:=R[i];
if max<>-999999 then
for i:=1 to t do
if r[i]=max then begin (write(i,' '));break;end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 07.12.2012 в 11:19. Причина: убрал лишний begin
Mad_Cat вне форума Ответить с цитированием
Старый 07.12.2012, 11:16   #5
Bibinur
Новичок
Джуниор
 
Регистрация: 07.12.2012
Сообщений: 5
По умолчанию

выдает ошибку "нельзя изменять переменную цикла в цикле"
Bibinur вне форума Ответить с цитированием
Старый 07.12.2012, 11:27   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
выдает ошибку "нельзя изменять переменную цикла в цикле"
да вроде бы в данном примере нет изменения переменной цикла внутри самого цикла...

давайте полностью Ваш код.
не забудьте оформить код тегами!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.12.2012, 11:36   #7
Bibinur
Новичок
Джуниор
 
Регистрация: 07.12.2012
Сообщений: 5
По умолчанию

ошибку выдавать перестал, но значение максимальногоне правильное
Program Work_4;
const
N=30;
a=-10;
b=6;
Var
s,max,z:real;
i,k,t: integer;
R:array[1..N] of Real;
Begin
s:=0;
Randomize;
for i:=1 to n do
R[i]:=a+Round((b-a)*Random(100)/100);
Writeln('vyvod elementov massiva:');
for i:=1 to N do Write(R[i]:4);
Writeln;
k:=trunc(N/4);
k:=N-k;
for i:=k to N do
if (i mod 2=0) then
s:=s+R[i];
writeln ('s=',s);
t:=trunc(N/3);
max:=-999999;
for i:=1 to t do
if (R[i]>=(a/2)) and (R[i]<=(b/2)) and (R[i]>max) then
max:=R[i];
if max<>-999999 then
for i:=1 to t do
if r[i]=max then
begin
writeln ('i=',i:4,' max=',max);
break;
end;

end.
Bibinur вне форума Ответить с цитированием
Старый 07.12.2012, 11:43   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
-1.00 1.00 -3.00-10.00 -2.00 4.00 -9.00 -9.00 6.00 2.00
Цитата:
i= 10 max=2
все верно имхо в промежутке [-5;3] максимум как раз 2
а 4 и 6 в этот промежуток не входят
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 07.12.2012, 15:56   #9
Bibinur
Новичок
Джуниор
 
Регистрация: 07.12.2012
Сообщений: 5
По умолчанию

Спасибо большое,никто не знает как решить четвертую часть?
Bibinur вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерный массив на паскале Erkesh Помощь студентам 5 14.11.2012 17:25
В паскале , одномерный массив Alexxxxxx Помощь студентам 5 23.10.2011 19:41
одномерный массив на паскале druger Помощь студентам 1 09.10.2011 12:24
Одномерный массив в паскале winnie* Помощь студентам 4 04.10.2010 12:54
Одномерный массив в Паскале Masha_ Помощь студентам 0 07.11.2009 20:06