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


Ответ
 
Опции темы Опции просмотра
Старый 20.12.2012, 09:50   #1 (permalink)
hamchuk250894
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль, подпрограммы функции

Помогите пожалуйста написать код к такой вот задачки. Условие: дан вектор состоящий из любых чисел Vn, и как я понял нужно, вводя n, чтобы он находил максимальную цифру в векторе и писал числа по убыванию. То есть например вектор состоит из таких чисел как на фото 39205 и программа должна выводить ответ 920, то есть в этом векторе максимальное число 9 и он пишет числа по убыванию после него, то бишь 2 и 0.
Миниатюры
abcd0001.jpg  
hamchuk250894 вне форума   Ответить с цитированием

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

Эти топики могут помочь вам решать проблему

Паскаль, подпрограммы
Подпрограммы

Старый 20.12.2012, 10:42   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от hamchuk250894 Посмотреть сообщение
Помогите пожалуйста написать код к такой вот задачки. Условие: дан вектор состоящий из любых чисел Vn, и как я понял нужно, вводя n, чтобы он находил максимальную цифру в векторе и писал числа по убыванию. То есть например вектор состоит из таких чисел как на фото 39205 и программа должна выводить ответ 920, то есть в этом векторе максимальное число 9 и он пишет числа по убыванию после него, то бишь 2 и 0.
Пожалуйста. Единственное, что мне не вполне ясно - состоит ли вектор из однозначных чисел (цифр) или это не обязательно. У Вас в условии то "цифры", то "числа" - вот и поди пойми.
И еще. Программа учитывает, что элементов, равных максимальному, может быть в исходном массиве больше одного, поэтому выводятся цепочки от каждого из максимальных.
Код:
Const
 Nm=100;
Var
 N,i,j,N_max:Byte;
 i_max:Array[1..Nm] of Byte;
 A:Array[1..Nm] of Integer;
 Max:Integer;
Begin
 Write('N= ');
 Readln(N);
 Randomize;
 For i:=1 to N do
  begin
   A[i]:=50-Random(100);
   Write(A[i]:4);
  end;
 Writeln;
 Max:=A[1];
 For i:=2 to N do
  If A[i]>Max then Max:=A[i];
 N_max:=0;
 For i:=1 to N do
  If A[i]=Max then
   begin
    Inc(N_max);
    i_max[N_max]:=i;
   end;
 For j:=1 to N_max do
  begin
   Write(A[i_max[j]]:4);
   i:=i_max[j];
   repeat
    Inc(i);
    if (i<=N) and (A[i]<A[i-1]) then Write(A[i]:4);
   until (A[i]>=A[i-1]) or (i>N);
   writeln;
  end;
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 20.12.2012, 10:51   #3 (permalink)
hamchuk250894
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Вектор состоит из любых чисел
hamchuk250894 вне форума   Ответить с цитированием
Старый 20.12.2012, 10:58   #4 (permalink)
hamchuk250894
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

программа должна отыскать в векторе максимальное число допустим 9 и после него записать числа которые идут по убыванию. То есть в случае как на фото ответ должен быть таков 9 2 0.
hamchuk250894 вне форума   Ответить с цитированием
Старый 20.12.2012, 11:04   #5 (permalink)
hamchuk250894
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

программа немножко неверно написана(
hamchuk250894 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 20.12.2012, 11:28   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от hamchuk250894 Посмотреть сообщение
программа немножко неверно написана(
Значит так, юноша. Благодарю за повторное разъяснение, из которого следует, что Вы меня за полного придурка держите. По сути же вот что. Я не имею обыкновения выкрадывать неоттестированных программ. И если Вас не устраивает - пишите сами. А что касается программы, то ниже приведен результат по Вашему примеру, после того, как в программе (и это ЕДИНСТВЕННОЕ изменение) ввод через случайные числа был заменен ручным. Выведен исходный вектор и результат. Какого рожна Вас не устраивает, не ведаю. На этом - всех благ!
Миниатюры
aaa01.jpg  
Vladimir_S вне форума   Ответить с цитированием
Старый 20.12.2012, 11:33   #7 (permalink)
hamchuk250894
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Извените, я не хотел вас никак оскорбить просто у меня программа вот так работает. Я просто не могу понять почему у меня работает не так как у вас.
Миниатюры
aacuiyiiue.jpg  
hamchuk250894 вне форума   Ответить с цитированием
Старый 20.12.2012, 11:40   #8 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от hamchuk250894 Посмотреть сообщение
Извените, я не хотел вас никак оскорбить просто у меня программа вот так работает. Я просто не могу понять почему у меня работает не так как у вас.
Решительно не понимаю, что Вас не устраивает! Найден максимум (50), и от него последовательность убывающих элементов до первого, который это убывание нарушает. Всё как в условии. И что не так?
Vladimir_S вне форума   Ответить с цитированием
Старый 20.12.2012, 11:43   #9 (permalink)
hamchuk250894
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

всё, извините меня пожалуйста) у меня просто голова уже не работает, устал сегодня очень. Ещё раз примите мои глубочайшие извинения. Спасибо большое за программку.
hamchuk250894 вне форума   Ответить с цитированием
Старый 20.12.2012, 11:45   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от hamchuk250894 Посмотреть сообщение
всё, извините меня пожалуйста) у меня просто голова уже не работает, устал сегодня очень. Ещё раз примите мои глубочайшие извинения. Спасибо большое за программку.
Ладно, извините и меня за излишнюю резкость. Удачи!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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

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

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

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




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

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