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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2011, 13:09   #1
katya111
Новичок
Джуниор
 
Регистрация: 18.05.2011
Сообщений: 12
По умолчанию Ввести числа и определить, какое из них наибольшее чётное

что нужно сделать, чтобы не программа выводила заданное кол-во чисел и определяла из них наибольшее чётное, а пользователь сам вводил числа, и программа из них уже определяла, какое наиб. чётное?

Код:
program pr1;
var
  n, m, i: integer;
  A: array[1..20] of integer;
begin
  writeln('Введите количество элементов');
  readln(n);
  for i := 1 to n do
  begin
    A[i] := RANDOM(101) - 50;
    write(A[i]: 4);
    if A[i] mod 2 = 0 then m := m + 1
  end;
  writeln('Исходный:');
  for i := 1 to n do
  begin
    write(A[i]: 7);
  end;
  m := A[1];
  for i := 1 to n do
  begin
    if (A[i] > m) and (A[i] mod 2 = 0) then m := A[i];
  end;
  writeln;
  writeln('Наибольшее чётное число массива:', m);
end.


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

2.Название темы должно адекватно отражать суть решаемой задачи/проблемы.

Не забывайте об этом!


Модератор.

Последний раз редактировалось Serge_Bliznykov; 19.05.2011 в 13:30.
katya111 вне форума Ответить с цитированием
Старый 19.05.2011, 13:34   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
A[i] := RANDOM(101) - 50;
Это заменить на ввод значения A[i] с помощью оператора readln()
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.05.2011, 13:36   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) если нужны случайные числа, то в начале программы нужно обязательно ставить вызов процедуры
Randomize;
иначе последовательность случайных чисел будет одна и та же при каждом запуске.
Вам это не нужно, т.к. Вы числа собираетесь вводить вручную...

2) нет проверки N ( что N<=20 )

3) строчку
if A[i] mod 2 = 0 then m := m + 1
выкиньте совсем! Она не нужна!

4) по сути вопроса:
замените строчку A[i] := RANDOM(101) - 50;
на строчку Readln(A[i]) и всё!
Код:
begin
  writeln('Введите количество элементов');
  repeat
    readln(n);
    if N>20 then WriteLn('Ошибка! N должно быть от 1 до 20!');
  until (N>0) and (N<=20);
  for i := 1 to n do
    ReadLn(A[i]);

  writeln('Исходный:');
....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.05.2011, 13:51   #4
katya111
Новичок
Джуниор
 
Регистрация: 18.05.2011
Сообщений: 12
По умолчанию

что-то у меня не получается...
вообще задание: ПРОГРАММА НАХОДИТ НАИБОЛЬШЕЕ ЧЁТНОЕ ЧИСЛО В ДАННОМ ОДНОМЕРНОМ МАССИВЕ ЦЕЛЫХ ЧИСЕЛ. (числа, из к-рых будет выбираться наибольшее чётное, должны вводится вручную)
katya111 вне форума Ответить с цитированием
Старый 19.05.2011, 13:57   #5
katya111
Новичок
Джуниор
 
Регистрация: 18.05.2011
Сообщений: 12
По умолчанию

помогите, пожалуйста!!!
очень срочно нужно!
katya111 вне форума Ответить с цитированием
Старый 19.05.2011, 13:59   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
что-то у меня не получается...
что именно не получается?!

в тот код, который Вы привели изначально (я понимаю, что это чужая программа, иначе у Вас бы таких вопросов не возникало), вставьте мой код (заменив соответствующие строчки исходного кода.
остальное (там, где у меня многоточие - оставляете Ваш код.. и всё!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.05.2011, 14:22   #7
katya111
Новичок
Джуниор
 
Регистрация: 18.05.2011
Сообщений: 12
По умолчанию

я так и сделала, но у меня при выводе ничего не считается. идёт просто ВВОД ДАННЫХ..
Код:
program pr1;
var
n,m,i:integer;
A:array[1..20] of integer;
begin
writeln('Введите количество элементов');
repeat
readln(n);
if N>20 then writeln('Ошибка! N должно быть от 1 до 20!');
until (N>0) and (N<=20);
for i:=1 to n do
ReadLn(A[i]);
writeln('Исходный:');
for i:=1 to n do
begin
write(A[i]:7);
end;
begin
if (A[i]>m) and (A[i] mod 2 = 0) then m:=A[i];
end;
writeln;
writeln('Наибольшее чётное число массива:', m);
end.

А кто будет код оформлять как положено?!?!?!?
Надеюсь, что это Вы делаете по непониманию, а не сознательно нарушаете правила!


ПОВТОРЯЮ!

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

Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 19.05.2011 в 14:34.
katya111 вне форума Ответить с цитированием
Старый 19.05.2011, 14:32   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

в исходном коде есть такие строчки:
Цитата:
Код:
  m := A[1];
  for i := 1 to n do
  begin
    if (A[i] > m) and (A[i] mod 2 = 0) then m := A[i];
  end;
  writeln;
  writeln('Наибольшее чётное число массива:', m);
сравните со своим "творчеством" и попытайтесь найти отличия!!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.05.2011, 14:42   #9
katya111
Новичок
Джуниор
 
Регистрация: 18.05.2011
Сообщений: 12
По умолчанию

Теперь у меня вывод:"Введите кол-во элементов"
а куда нужно вводить сами элементы?
katya111 вне форума Ответить с цитированием
Старый 19.05.2011, 14:44   #10
katya111
Новичок
Джуниор
 
Регистрация: 18.05.2011
Сообщений: 12
По умолчанию

я всё поняла! Огромное спасибо!
ещё вопрос:
почему при вводе пользователем всех нечётных чисел не выдаётся ошибка?
что для этого нужно дописать?

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа находит наибольшее чётное число в данном одномерном массиве целых чисел katya111 Паскаль, Turbo Pascal, PascalABC.NET 4 18.05.2011 15:35
Ввести 3 числа и найти среднее из них kakawkin Помощь студентам 20 12.05.2011 21:11
Задание на типовой расчет: Какое наибольшее целое число без знака может быть записано в N двоич.разрядах? Бубликова Фриланс 10 06.12.2008 10:35
программа считывающая пять целых чисел и определяющая, печатающая наибольшее и наименьшее число из них Syber Общие вопросы C/C++ 3 30.06.2008 22:39