Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] Задачи


Автор: Olga654 26.5.2009, 20:07
Всем привет!!, Кто может помогите решить задания на языке Pascal:

1) Имеется массив F из N произвольных чисел (A(N)), среди которых есть положительное, отрицательное и равные нулю. Используя оператор цикла составить программу выполняющую задачу.
   Условие: Задан массив. Все чётные по значению элементы, предшествующие МАХ, умножить на MIN.

2) Обработать массив в соотвествии с условием задания. На экран вывести исходный и преобразованный массив в общепринятом виде. Обязатеьным является в программе использование подпрограмм.
   Условие: В челочисленной матрице N(A,B) определить всё элементы, крастные трём. Сформировать из этих элементов одномерный массив и найти наименьший элемент этого массива A<=10, B<=15.

В зарание спасибо

Автор: neic 26.5.2009, 21:15
Цитата(Olga654 @  26.5.2009,  20:07 Найти цитируемый пост)
предшествующие МАХ

Что означает это словосочетание?

Цитата(Olga654 @  26.5.2009,  20:07 Найти цитируемый пост)
Сформировать из этих элементов одномерный массив и найти наименьший элемент этого массива A<=10, B<=15.

Что значат A<=10, B<=15? То что элементы в этом массиве должны быть меньше или равны этим цифрам, или это условие при сортировке???

Автор: mr.Anderson 26.5.2009, 23:05

 ! 
mr.Anderson
Модератор: название темы должно отражать ее суть!


Добавлено через 38 секунд
neic, 
Цитата
Что означает это словосочетание?

Все элементы, предшествующие максимальному, умножить на минимальный. Массив одномерный.

Автор: neic 27.5.2009, 00:08
mr.Anderson, мне просто не понятен смысл слова предшествующие...те которые были признаны максимумом, но потом другое число стало максимумом? И все числа которые были максимумами умножить на минимум?

Автор: mr.Anderson 27.5.2009, 02:19
neic, все числа, которые стоят в массиве до максимума.

Автор: neic 27.5.2009, 12:53
mr.Anderson, понял =)

Вот 1ая задача:
Код

USES CRT;
VAR I,L,K,MIN,MAX:INTEGER;
       A:ARRAY[1..8] OF INTEGER;
BEGIN
CLRSCR;

WRITELN('VVEDITE MASSIV');

FOR I:=1 TO 8 DO
BEGIN
       READLN(A[I])
END;

K:=0;
MAX:=-9999;
MIN:=9999;

FOR I:=1 TO 8 DO
BEGIN
      IF A[I] < MIN THEN
      BEGIN
             MIN:=A[I]
      END;

      IF A[I]>MAX THEN
      BEGIN
                    K:=I
      END;
END;

FOR I:=1 TO K DO
BEGIN
    A[I]:=MIN*A[I]
END;

FOR I:=1 TO 8 DO
BEGIN
       WRITE(' ', A[I])
END;


READLN;
END.

Автор: Olga654 27.5.2009, 19:00
Спасибо большое!!!

Автор: neic 27.5.2009, 20:02
Насчёт 2ой ответь на мои вопросы и да будет тебе программа, если пойму

Автор: mr.Anderson 27.5.2009, 23:54
Код

MAX:=-9999;
MIN:=9999;

Убивать за такое надо. smile А если в массиве будут значения дальше, чем выбранный тобой диапазон? Сосчитается неверно.При поиске минимума и максимума всегда за максимум и минимум берется первый элемент массива, а уже потом во время прохода по массиву это значение может измениться (если не изменится - то выбранный изначально элемент и был максимумом или минимумом).

Автор: neic 28.5.2009, 00:14
mr.Anderson, можно и так сделать =)
Я просто по старинке так делаю =) Когда ещё лабы учился делать, вот и осталось =)

Добавлено через 19 секунд
И я думаю преподу в голову не придёт такие цифры брать  smile 

Автор: Olga654 28.5.2009, 05:28
То что элементы в этом массиве должны быть меньше или равны этим цифрам


Автор: Olga654 28.5.2009, 06:08
А вы можете помочь ещё вот с этим заданием, если не сложно:

Составить 2 программы на языке программирования Paskal (Одну - не используя цикла, другую используя соотвестсвующий оператор цикла). Сравнить полученное на ЭВМ значение суммы ряда со значением, вычесленным аналитически.

Найти сумму ряда:
http://ipicture.ru/Gallery/Viewfull/19527987.html


Автор: mr.Anderson 28.5.2009, 09:06

 ! 
mr.Anderson
Модератор: пожалуйста, один топик - один вопрос!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)