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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2007, 19:57   #1
11111
Пользователь
 
Регистрация: 14.10.2007
Сообщений: 25
Восклицание Ранжирование и умножение масива

Люди помогите пожайлуста сделать задачу.
используя программу ранжирования(сортировки), найти произведение 3-х наименьших по модулю элементов массива Т=(2,-1,3,-2,1,5,-3,2,4,1) Распечатать массив до и после ранжирования . И ещё если несложно посмотри в чём у меня тут ошибка.
Задание
найти произведение элементов с чётными номерами массива
Код:
program proiz;
var
A:array[1..100] of integer;
p,i,n,m:integer;
BEGIN
repeat
        write('Vvedite razmernost masiva'); readln(n);
until n<=100;
p:=1;
for i:=1 to n do
       begin
          write('a[',i:2,']=');
readln(a[i])
       end;
  begin
  if a[i] mod 2=0 then
    p:=p*a[i];
   end;
  write('proizvedenie elementov= ',p);
readln;
end.

Последний раз редактировалось 11111; 31.10.2007 в 20:11.
11111 вне форума Ответить с цитированием
Старый 01.11.2007, 08:13   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
 begin
  if a[i] mod 2=0 then
    p:=p*a[i];
   end;
Тут нужно так:

Код:
for i:=0 to 100 do
 begin
  if a[i] mod 2=0 then
    p:=p*a[i];
   end;
I'm learning to live...

Последний раз редактировалось Alex21; 01.11.2007 в 10:38.
Stilet вне форума Ответить с цитированием
Старый 02.11.2007, 21:10   #3
vit_galina
Пользователь
 
Регистрация: 15.10.2007
Сообщений: 19
По умолчанию

Цитата:
Сообщение от 11111 Посмотреть сообщение
И ещё если несложно посмотри в чём у меня тут ошибка.
Задание
найти произведение элементов с чётными номерами массива
Код:
program proiz;
var
A:array[1..100] of integer;
p,i,n,m:integer;
С учетом уже указанных замечаний еще необходимо переменную произведения описать как p:Real, так как при произведении 100 чисел можете выйти за диапазон значений Integer: -32768..32767.
vit_galina вне форума Ответить с цитированием
Старый 02.11.2007, 22:01   #4
vit_galina
Пользователь
 
Регистрация: 15.10.2007
Сообщений: 19
По умолчанию

Цитата:
Сообщение от 11111 Посмотреть сообщение
Люди помогите пожайлуста сделать задачу.
используя программу ранжирования(сортировки), найти произведение 3-х наименьших по модулю элементов массива Т=(2,-1,3,-2,1,5,-3,2,4,1) Распечатать массив до и после ранжирования .
Рабочий модуль. Ввод и вывод оформите по усмотрению.
Код:
PROGRAM S;
{UPORYADOCHEVANIE PO MODULYU}
{PROIZVEDENIE PERVYX TREH}
CONST N=10;
 T   : ARRAY[1..N] OF INTEGER =(2,-1,3,-2,1,5,-3,2,4,1);
VAR 
    I,J,L,B,MIN,P: INTEGER;
 BEGIN
 {VIVOD MASSIVA}
  WRITE (' ISHODNY MASSIV: ');
  FOR I:=1 TO N DO
  WRITE(T[I]:3);
  WRITELN;
  {UPORYADOCHEVANIE }
  FOR I:=1 TO N-1 DO
    BEGIN
      MIN:=ABS(T[I]); L:=I;
       FOR J:=I+1 TO N DO
          IF ABS(T[J]) <  MIN THEN BEGIN  MIN:=ABS(T[J]); L:=J; END;
      IF L>I THEN BEGIN B:=T[I]; T[I]:=T[L]; T[L]:=B; END;
   END;
  {VYVOD UPORYAD. MASSIVA}
  WRITE ('UPORYAD. MASSIV: ');
  P:=1;
  FOR I:=1 TO N DO
  BEGIN
{proizvedenie}  
IF I<=3 THEN P:=P*T[I];
{vyvod massiva}
  WRITE(T[I]:3);
  END;
WRITELN;
 WRITELN('PROIZVEDENIE P=',P:4);
 WRITELN('NAJMITE ENTER ');
 READLN;
END.
оформляем код, с использованием тегов (кнопочка #CODE - расширенный режим)

Последний раз редактировалось Alex21; 02.11.2007 в 22:28.
vit_galina вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умножение в SQL Родион БД в Delphi 4 12.06.2008 17:27
Удаление записи из динамического масива... Altera Общие вопросы Delphi 4 09.06.2008 09:15
Сортировка масива lhOsvald Общие вопросы C/C++ 21 02.05.2008 00:28
элемменты заданого масива a(n) перепешите в новый масив b(n) в обратном порядке! finch Помощь студентам 4 25.06.2007 13:20
СОХРАНИЯ В ФАЙЛ ДВУМЕРНОГО ДИНАМИЧЕСКОГО МАСИВА!!!! _FL@ER_ Помощь студентам 2 23.06.2007 16:31