Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 15.12.2010, 23:04   #1 (permalink)
matrinishna
Новичок
 
Регистрация: 15.12.2010
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Проблема с Паскалем

помиге мне пожалуйста срочно!я недавно приехала с соревнований, а преподша не вошла в моё положение и задала мне сверх нормы.....прошу кому не сложно выручите меня (обычный паскаль. НЕ ТУРБО)


Minmax26.Дно целое число N и набор из N целых чисел. Найти максимальное количество четных чисел в наборе, идущих подряд. Если четные числа в наборе отсутствуют, то вывести 0.
Minmax19. Дано целое число N и набор из N целых чисел. Найти количество минимальных элементов из данного набора.
Array26. Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести 0, если нет,
то вывести порядковый номер первого элемента, нарушающего закономерность.
Array19. Дан целочисленный массив A размера 10. Вывести порядковый номер последнего из тех его элементов Aк, которые удовлетворяют двойному неравенству A1 < AK < A10. Если таких элементов нет, то вывести 0.
matrinishna вне форума   Ответить с цитированием

Старый 15.12.2010, 23:04
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Я думаю, что в похожих обсуждениях содержаться содержательные ответы

Помогите с Паскалем
Помогите с Паскалем
Помогите с Паскалем

Старый 15.12.2010, 23:31   #2 (permalink)
matrinishna
Новичок
 
Регистрация: 15.12.2010
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

пожалуйста кто нибудь помогите!
matrinishna вне форума   Ответить с цитированием
Старый 16.12.2010, 04:24   #3 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 14,939
Записей в дневнике: 57
Сказал(а) спасибо: 135
Поблагодарили 164 раз(а) в 69 сообщениях
Репутация: 67284
По умолчанию

Цитата:
Сообщение от matrinishna Посмотреть сообщение
Array19. Дан целочисленный массив A размера 10. Вывести порядковый номер последнего из тех его элементов Aк, которые удовлетворяют двойному неравенству A1 < AK < A10. Если таких элементов нет, то вывести 0.
Тут нужно рассматривать разные случаи, к примеру, если главное условие выполняется, не выполняется и невозможно.
Листинг следующий:
Код:
program mass;
var a: array[1..10] of integer;
i,k:integer;
begin
for i:=1 to 10 do
readln(a[i]);
k:=0;
if a[1]<a[10] 
then 
  begin for i:=2 to 9 do
          if (a[i]>a[1]) and a[i]<a[10] then k:=i;
          writeln(k);
  end
else writeln('неравенство не соблюдено, первый элемент не меньше десятого');
readln
end.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 16.12.2010, 11:02   #4 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,843
Сказал(а) спасибо: 317
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Цитата:
Сообщение от matrinishna Посмотреть сообщение
Minmax26.Дно целое число N и набор из N целых чисел. Найти максимальное количество четных чисел в наборе, идущих подряд. Если четные числа в наборе отсутствуют, то вывести 0.
Код:
VAR
 A:ARRAY[1..200] of WORD;
 N,N_even,N_even_max:Byte;
 i:Integer;
BEGIN
 Write('N= ');
 ReadLn(N);
 For i:=1 to N do
  begin
   Write('A[',i:2,']= ');
   ReadLn(A[i]);
  end;
 N_even_max:=0;
 i:=0;
 Repeat
  Inc(i);
 Until ((A[i] mod 2)=0) or (i=N);
 If ((A[i] mod 2)=0) and (i=N) then
  N_even_max:=1
 else
  Begin
   i:=0;
   Repeat
    N_even:=0;
    repeat
     Inc(i);
    until ((A[i] mod 2)=0) or (i=N);
    If i<N then
     begin
      N_even:=1;
      repeat
       Inc(N_even);
       Inc(i);
      until ((A[i] mod 2)=1) or (i=N);
      If (i<N) or ((i=N) and ((A[i] mod 2)=1)) then Dec(N_even);
     end;
    If N_even_max<N_even then N_even_max:=N_even;
   Until i=N;
  End;
 WriteLn('Max number of even adjacent elements is ',N_even_max);
 ReadLn;
END.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Старый 16.12.2010, 11:11   #5 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,843
Сказал(а) спасибо: 317
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Цитата:
Сообщение от matrinishna Посмотреть сообщение
Minmax19. Дано целое число N и набор из N целых чисел. Найти количество минимальных элементов из данного набора.
Ну это совсем просто:
Код:
VAR
 A:ARRAY[1..200] of WORD;
 A_min:WORD;
 N,N_min:Byte;
 i:Integer;
BEGIN
 Write('N= ');
 ReadLn(N);
 For i:=1 to N do
  begin
   Write('A[',i:2,']= ');
   ReadLn(A[i]);
  end;
 A_min:=A[1];
 For i:=2 to N do
  If A[i]<A_min then A_min:=A[i];
 N_min:=0;
 For i:=1 to N do
  If A[i]=A_min then Inc(N_min);
 WriteLn('Number of minimum elements is ',N_min);
 ReadLn;
END.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 16.12.2010, 14:22   #6 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,843
Сказал(а) спасибо: 317
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Цитата:
Сообщение от matrinishna Посмотреть сообщение
Array26. Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность.
Код:
VAR
 A:ARRAY[1..200] of WORD;
 N:Byte;
 i:Integer;
BEGIN
 Write('N= ');
 ReadLn(N);
 For i:=1 to N do
  begin
   Write('A[',i:2,']= ');
   ReadLn(A[i]);
  end;
 i:=2;
 If (A[1] mod 2)=1 then
  begin
   Repeat
    Inc(i);
   Until ((A[i] mod 2)<>(i mod 2)) or (i=N);
   If (i=N) and ((A[N] mod 2)=(N mod 2)) then
    WriteLn('0')
   else
    WriteLn('The element number ',i,' breaks the sequence');
  end
 else
  begin
   Repeat
    Inc(i);
   Until ((A[i] mod 2)=(i mod 2)) or (i=N);
   If (i=N) and ((A[N] mod 2)<>(N mod 2)) then
    WriteLn('0')
   else
    WriteLn('The element number ',i,' breaks the sequence');
  end;
 ReadLn;
END.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 12:37.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.