Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 31.10.2012
Сообщений: 10

Определить максимальный элемент массива, его номер, переставить его в начало и в конец массива

31.10.2012, 23:43. Показов 3346. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задать массив А[1..25] с помощью генератора случайных чисел только четными числами. Определить максимальный элемент, его № в массиве, представить его в начало и в конец, а на его место - сумму 1-го и последнего элементов


ПОМОГИТЕ ПЛИЗ !!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.10.2012, 23:43
Ответы с готовыми решениями:

Определить максимальный элемент массива В и его порядковый номер, замените максимальный элемент массива нулём
Массив: В(К); Условия и ограничения: в i>0, N<=30 Помогите пожалуйста

Определить максимальный элемент массива и его порядковый номер
Ребят помогите разроботать программы; 1)Задан массив X.Определить max элемент массива и его порядковый номер; 2)Задан массив...

Определить максимальный элемент каждого четного столбца массива и его порядковый номер
Дан двумерный массив X, где значения элементов массива и их количество вводятся с клавиатуры. Определить максимальный элемент каждого...

14
 Аватар для SladkayaVata
272 / 188 / 173
Регистрация: 06.06.2012
Сообщений: 322
01.11.2012, 13:41
Так как не уточнено какую именно сумму ставить (изначальную или новую вместо максимального, поэтому сделал 2 варианта) Здесь вместо максимального ставится сумма 1 и последнего из измененных элементов)
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
46
47
48
49
50
51
52
53
54
55
const
  n = 25;
 
type
  mas = array[1..n] of integer;
 
var
  a: mas;
  i, j, k, max: integer;
 
procedure random_mas(var a: mas);
var
  i: integer;
begin
  for i := 1 to n do 
  begin
    a[i] := random(100);
    repeat
      if (odd(a[i])) then a[i] := random(10);
    until a[i] mod 2 = 0; end;
end;
 
procedure print_mas(a: mas);
var
  i: integer;
begin
  for i := 1 to n do
    write(a[i], ' ');
  writeln;
end;
 
procedure maxchangesum;
var
  i: integer;
begin
  max := a[1];
  for i := 2 to n do
    if a[i] > max then
    begin
      max := a[i]; 
      j := i;
      a[1] := max; 
      a[n] := max; 
      a[j] := 2 * max;
    end; end;
 
begin
  writeln('Исходный массив из четных элементов');
  random_mas(a);
  print_mas(a);
  maxchangesum;
  writeln('Максимальный элемент ', max, ' его номер: ', j);
  writeln('Новый массив');
  print_mas(a);
end.
Здесь вместо максимального ставится сумма 1 и последнего из изначальных элементов)
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
46
47
48
49
50
51
52
53
54
55
56
const
  n = 25;
 
type
  mas = array[1..n] of integer;
 
var
  a: mas;
  i, j, k, max: integer;
 
procedure random_mas(var a: mas);
var
  i: integer;
begin
  for i := 1 to n do 
  begin
    a[i] := random(100);
    repeat
      if (odd(a[i])) then a[i] := random(10);
    until a[i] mod 2 = 0; end;
end;
 
procedure print_mas(a: mas);
var
  i: integer;
begin
  for i := 1 to n do
    write(a[i], ' ');
  writeln;
end;
 
procedure maxchangesum;
var
  i,f: integer;
begin
f:=a[1]+a[25];
  max := a[1];
  for i := 2 to n do
    if a[i] > max then
    begin
      max := a[i]; 
      j := i;
      a[1] := max; 
      a[n] := max; 
      a[j] := f;
    end; end;
 
begin
  writeln('Исходный массив из четных элементов');
  random_mas(a);
  print_mas(a);
  maxchangesum;
  writeln('Максимальный элемент ', max, ' его номер: ', j);
  writeln('Новый массив');
  print_mas(a);
end.
1
1 / 1 / 0
Регистрация: 31.10.2012
Сообщений: 10
01.11.2012, 17:00  [ТС]
А сможете решить обычным способом, без процедуры ?
0
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
01.11.2012, 17:06
Вопрос в другом - сможешь ли ты сам заменить название процедуры в теле программы текстом самой процедуры
0
1 / 1 / 0
Регистрация: 31.10.2012
Сообщений: 10
01.11.2012, 19:47  [ТС]
Я пытался, но у меня не получается
0
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
01.11.2012, 20:03
Цитата Сообщение от Gregori0205 Посмотреть сообщение
Я пытался...
Текст программы сюда - проверим что не так. Не забудь заключить его в тэги PASCAL.
0
1 / 1 / 0
Регистрация: 31.10.2012
Сообщений: 10
01.11.2012, 23:02  [ТС]
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Var
arr,A:array[1..25] of integer;
 i, j, k, max: integer;
f:boolean;
begin 
 
randomize;
write('массив:');
for i:=1 to 25  do
 begin  
  arr[i]:=random(100); 
  if arr[i] mod 2 =0 then 
  arr[i]:=arr[i]+1;
  write (arr[i]:4);
   end;
    writeln;    
    A:=arr;     
for i:= 1 to 24 do
  for j:= 1 to 25-i do
  begin
вот как-то так начал. А дальше не понимаю как.

Добавлено через 1 час 6 минут
Выложите плиз эту задачку(программу) , вот примерно так. Без процедур.

Добавлено через 12 минут
Решите без процедур.
0
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
01.11.2012, 23:16
Так это было тебе задание от меня - заменить процедуры кодом, а ты что выложил (видимо вообще вариант своего кода)?
1
12 / 12 / 11
Регистрация: 14.10.2012
Сообщений: 47
01.11.2012, 23:20
вот что то похожее:
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
program L;
 
{28.     Дана последовательность х1, х2, …, хn. Найдите наибольший по модулю элемент последовательности с указанием его номера.}
uses
    crt;
const
     maxn=100;
var
   maxmod:real;
   i,n,t,nmb:integer;
   a:array[1..maxn] of real;
begin
clrscr;
    write('Введите количество элементов последовательности: ');
    readln(n);
    writeln('Введите значения каждого элемента последовательности');
for i := 1 to n do
    begin
         write('a[', i, ']=');
         readln(a[i]);//вводим значение каждого элемента последовательности
    end;
        maxmod := abs(a[1]);//присваеваем переменной максимального по модулю числа значение первого элемента последовательности по модулю
for i := 1 to n do
    begin
         if maxmod <= abs(a[i]) then// сравниваем каждый элемент последовательности
            begin
                 nmb := i;//номер максимального по модулю элемента последовательности
                 maxmod := abs(a[i]);//значение этого элемента
            end;
    end;
    writeln('Наибольший по модулю элемент последовательности имеет номер ', nmb, ', а значение ', a[nmb]);
end.
1
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
02.11.2012, 17:55
Gregori0205, давай будем исходить из того, что процедура - это часть программы, выделенная из неё и заменённая на короткую запись чтобы упростить восприятие кода программы, особенно это касается случаев когда есть множественное обращение к одним и тем же кускам кода - вот именно их выделяют в процедуру для удобства. Чтобы убрать процедуры из текста программы надо произвести обратное действие - везде место неё вставить код который был внутри процедуры.
Что-то ты не написал получилось ли...
1
1 / 1 / 0
Регистрация: 31.10.2012
Сообщений: 10
05.11.2012, 20:38  [ТС]
Блин . мне бы это еще понять. и какой именно код.

Добавлено через 1 минуту
Могли бы вы просто написать программу без этих процедур и выложить?
0
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
06.11.2012, 01:31
Цитата Сообщение от Gregori0205 Посмотреть сообщение
мне бы это еще понять. и какой именно код.
Что понять, что такое процедура и её формат? Это вообще-то в описании языка есть, хотя если посмтореть на тот вариант программы с процедурами, то всё и так ясно. Думаю, не сложно понять, что процедуры выделены словом procedure...
Если выложить готовую программу и без процедур, то в чём будет урок именно для тебя? В том, что ты умеешь создавать сообщения на форумах запостив туда домашнее задание по программированию?
Может другой вариант лучше? Ты изучаешь процедуры самостоятельно (минут 5 на прочтение достаточно) и берёшь первый вариант программы и докладываешь училке, что вот оно решение и что ты разобрался с процедурами.
Иначе говоря, может ты перестанешь тратить чужое время на смвою задачу и уже сам что-то сделаешь для себя самого?
1
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
06.11.2012, 02:10
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
uses crt;
var a: array [1..25] of integer;
    i,imax: byte;
    buf: integer;
    
begin
writeln('Исходный массив');
imax:=1;
for i:=1 to 25 do
    begin
    repeat
    a[i]:=random(199)-99;
    until a[i] mod 2=0;
    write(a[i]:4);
    if a[i]>a[imax] then imax:=i;
    end;
writeln;
writeln('Максимальный элемент=',a[imax],' под индексом ',imax);
buf:=a[imax];
a[imax]:=a[1]+a[25];
a[1]:=buf; a[25]:=buf;
writeln('Преобразованный массив');
for i:=1 to 25 do
    write(a[i]:4);
end.
1
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
06.11.2012, 09:47
Цитата Сообщение от Gregori0205 Посмотреть сообщение
на его место - сумму 1-го и последнего элементов
Только одна коллизия требует разрешения - случай, когда максимальный элемент стоит на первом или последнем месте. Что делать тогда? Сначала туда записать максимальный элемент и потом сумму 1-го и последнего или сначала сумму, а затем максимальный элемент?
Может в задании уточняется, Gregori ? Возможно потребуется подредактировать строки 20 и 21.

Не по теме:

Не забудь поблагодарить КонецСвета за готовую программу.

1
1 / 1 / 0
Регистрация: 31.10.2012
Сообщений: 10
06.11.2012, 16:54  [ТС]
Спасибо большое !!!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2012, 16:54
Помогаю со студенческими работами здесь

Максимальный элемент массива и его номер и сумму элементов массива расположенных до последнего положительного элемента
Максимальный элемент массива и его номер и сумму элементов массива расположенных до последнего положительного элемента

Найти максимальный элемент массива и его номер
Дан массив вещественных чисел. Найти максимальный элемент массива и его номер. Помогите пожалуйста.

Найти максимальный элемент массива и его порядковый номер
Дан массив целых чисел. Найти максимальный элемент массива и его порядковый номер

Задание на массив. Найти максимальный элемент массива и его номер
Дан массив вещественных чисел.Найти максимальный элемент массива и его номер Помогите пожалуйста,очень срочно надо

Найти максимальный элемент массива и номер его сроки и столбца
Дан двумерный массив размером 5x5, значения элементов массива заданны с помощью генератора случайных чисел в интервале от -3 до 9. Найти...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru