Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620

Как поменять программу , чтоб все числа, следующие за наибольшим значением, поменялись на b

20.09.2018, 19:33. Показов 1152. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Const
  R=10;      {Размер массива}
Type
  TInd=1..R;     {Тип индекса элемента массива}
  TElem=Integer; {Тип элемента массива}
  TMas=Array [TInd] Of TElem; {Тип массив}
Var
  k,i,b,nmin,nmax:TInd;   {1..R}
  M:TMas;        {Исходный и преобразованный массив}
  min,max:TElem; {Текущие значения минимума и максимума}
Begin
  Write('Задайте количество элементов не более ',R,': ');
  ReadLn(k);
  Write('Введите значение b:');
  ReadLn(b);
{Ввод массива}
  Write('Введите ',k,' целых чисел одной строкой:');
  For i:=1 To k
  Do Read(M[i]);            {Ввод элемента массива}
{Поиск минимума и максимума в массиве}
  min:=M[1];
  nmin:=1;                  {Начальные установки минимума}
  max:=M[1];
  nmax:=1;                  {Начальные установки максимума}
  For i:=2 To k             {Перебор элементов массива}
  Do If M[i]<min            {Сравнение элемента с минимумом}
     Then Begin
            min:=M[i];      {Текущий минимум}
            nmin:=i         {Номер минимального элемента}
          End
     Else If M[i]>max       {Сравнение элемента с максимумом}
          Then Begin
                 max:=M[i]; {Текущий максимум}
                 nmax:=i    {Номер максимального элемента}
               End;
{Перестановка местами минимума и максимума}
  M[nmin]:=max;
  M[nmax]:=min;
 
{Вывод массива}
  WriteLn('Массив после перестановки:');
  For i:=1 To k
  Do Write (M[i],' ');      {Вывод элемента массива}
  WriteLn;
End.
это там где идёт {Перестановка местами минимума и максимума} надо писать замену?

Добавлено через 1 минуту
как я понял должно получиться:
2 3 4 8 6 4 5
после замены на число b
2 3 4 8 b b b
как-то так да?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.09.2018, 19:33
Ответы с готовыми решениями:

Все члены, следующие за членом с наибольшим значением, заменить на 0,5
Дано действительные числа A1,...,An и B1,...,Bn. В последовательности A1,...,An и в последовательности B1,...,Bn все члены, следующие за...

Все члены последовательности, следующие за ее наибольшим значением, заменить на 0.5
Даны действительные числа a1, ..., an, b1, ..., bm. В последовательности a1,...,an и в последовательности b1,...,bm все члены, следующие...

В действительных массивах все элементы, следующие за элементом с наибольшим значением, заменить на 0.5
Даны действительные массивы a, b. В массиве a и в массиве b все элементы, следующие за элементом с наибольшим значением (за первым по...

7
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.09.2018, 09:49
Найдите индекс максимального элемента imx.
И заменить после него.
Pascal
1
2
for i:=imx+1 to n do
M[i]:=b;
1
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
21.09.2018, 17:43  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Найдите индекс максимального элемента imx.
И заменить после него.
for i:=imx+1 to n do
M[i]:=b;


вроде как переделал,
но

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Const
  R=10;      {Размер массива}
Type
  TInd=1..R;     {Тип индекса элемента массива}
  TElem=Integer; {Тип элемента массива}
  TMas=Array [TInd] Of TElem; {Тип массив}
Var
  k,i,b,nmin,nmax:TInd;   {1..R}
  M:TMas;        {Исходный и преобразованный массив}
  min,max:TElem; {Текущие значения минимума и максимума}
Begin
  Write('Задайте количество элементов не более ',R,':');
  ReadLn(k);
  Write('Введите значение b:');
    ReadLn(b);
{Ввод массива}
  Write('Введите ',k,' целых чисел одной строкой:');
  Writeln;
  For i:=1 To k
  Do Read(M[i]);            {Ввод элемента массива}
{Поиск минимума и максимума в массиве}
  min:=M[1];
  nmin:=1;                  {Начальные установки минимума}
  max:=M[1];
  nmax:=1;                  {Начальные установки максимума}
  For i:=2 To k             {Перебор элементов массива}
  Do If M[i]>max            {Сравнение элемента с минимумом}
     Then Begin
                 max:=M[i]; {Текущий максимум}
                 nmax:=i    {Номер максимального элемента}
               End;
      for i:=nmax+1 to k
 do if nmax<max
 Then Begin
 M[i]:=b;
 end;
{Вывод массива}
  WriteLn('Массив после перестановки:');
  For i:=1 To k
  Do Write (M[i],' ');      {Вывод элемента массива}
  WriteLn;
End.
всё правильно? или где-то что-то не так?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.09.2018, 17:50
Зачем Вам минимум?
Для чего это?
Pascal
1
2
if nmax<max
 Then Begin
Добавлено через 3 минуты
Вы бы сами написали, а не сдирали что попало и где попало.
1
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
21.09.2018, 17:56  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Зачем Вам минимум?
Для чего это?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Const
  R=10;      {Размер массива}
Type
  TInd=1..R;     {Тип индекса элемента массива}
  TElem=Integer; {Тип элемента массива}
  TMas=Array [TInd] Of TElem; {Тип массив}
Var
  k,i,b,nmax:TInd;   {1..R}
  M:TMas;        {Исходный и преобразованный массив}
  max:TElem; {Текущие значения минимума и максимума}
Begin
  Write('Задайте количество элементов не более ',R,':');
  ReadLn(k);
  Write('Введите значение b:');
    ReadLn(b);
{Ввод массива}
  Write('Введите ',k,' целых чисел одной строкой:');
  Writeln;
  For i:=1 To k
  Do Read(M[i]);            {Ввод элемента массива}
{Поиск максимума в массиве}
  max:=M[1];
  nmax:=1;                  {Начальные установки максимума}
  For i:=2 To k             {Перебор элементов массива}
  Do If M[i]>max            {Сравнение элемента с минимумом}
     Then Begin
                 max:=M[i]; {Текущий максимум}
                 nmax:=i    {Номер максимального элемента}
               End;
      for i:=nmax+1 to k
 do if nmax<max
 Then Begin
 M[i]:=b;
 end;
{Вывод массива}
  WriteLn('Массив после перестановки:');
  For i:=1 To k
  Do Write (M[i],' ');      {Вывод элемента массива}
  WriteLn;
End.
вот, в идеале так должно быть, да?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.09.2018, 17:58
Лучший ответ Сообщение было отмечено ololo111 как решение

Решение

Ну нахрена тебе строка 31?

Добавлено через 55 секунд
Нужно же все элементы после максимального заменить на В, а не только те что меньше.
1
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
21.09.2018, 18:01  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Ну нахрена тебе строка 31?
Pascal
1
2
3
4
5
6
7
8
9
10
Do If M[i]>max            {Сравнение элемента}
     Then Begin
                 max:=M[i]; {Текущий максимум}
                 nmax:=i    {Номер максимального элемента}
               End;
      for i:=nmax+1 to k
      do begin
 M[i]:=b;
 end;
{Вывод массива}
так правильней?

а в 1 оператор можно это уместить? или тут как 2 абсолютно разных оператора
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.09.2018, 18:06
Только писать аккуратнее нужно
Pascal
1
for i:=nmax+1 to k  do  M[i]:=b;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.09.2018, 18:06
Помогаю со студенческими работами здесь

Функции на С: в последовательностях все члены, следующие за членом с наибольшим значением, заменить на 0,5
Даны действительные числа a1, …, an, b1, …, bm. В последовательности a1, …, an и в последовательности b1, …, bm все члены, следующие за...

Перевод с языка Pascal на C#: Заменить все члены, следующие за членом с наибольшим значением
Помогите,пожалуйста,кто-нибудь с программой. Надеюсь,что я все правильно делал в паскале,но как перевести в c#. Помогите люди добрые ...

Перевод с языка Pascal на C#: Заменить все члены, следующие за членом с наибольшим значением
Program n1; Uses Crt; var a: array of integer; k,m,i,j,s: integer; begin for i:=1 to 18 do begin for j:=1 to 12 do begin ...

В массиве все члены, следующие за членом с наибольшим значением (за первым по порядку, если их несколько), заменить на 0.5.
Даны действительные числа а1,…,an, b1,…,bm. В последовательности а1, ..., an и в последовательности b1,…,bm все члены, следующие за...

Поменять местами строку с наибольшим значением со строкой с наименьшим значением
#include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;time.h&gt; using namespace std; void main() {


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru