0 / 0 / 0
Регистрация: 10.09.2015
Сообщений: 34
1

Получить из исходного массива новый массив, исключив из него все элементы с максимальным значением

04.10.2015, 15:00. Показов 1782. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задан массив. Составить алгоритм и программу, которая выводит исходный массив и массив, полученный в результате выполнения требований задачи.Получить массив, исключив из него все элементы с максимальным значением.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2015, 15:00
Ответы с готовыми решениями:

Дан массив X(N). Получить новый,выбросив из исходного все элементы с наименьшим значением
Дан массив X(N). Получить новый,выбросив из исходного все элементы с наименьшим значением.

Получить новый массив, выбросив из исходного массива все члены с заданным значением
Здравствуйте! Проверьте пожалуйста решение задачи Program massiv; Var n, i, j, Max : integer; ...

Сформировать новый массив, включив в него все неповторяющиеся элементы исходного массива
Сформировать новый массив, включив в него все неповторяющиеся элементы исходного массива. Помогите...

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

2
54 / 45 / 97
Регистрация: 17.08.2014
Сообщений: 157
04.10.2015, 18:29 2
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
const n = 10;
var a:array[1..n]of real;
    b:array[1..n]of real;
i,k,j:integer;
max:real;
 
begin
j:=1;
for i:=1 to n do
  a[i]:=random(3);
max:=a[1];
for i:=1 to n do
  if a[i] > max then max:=a[i];
for i:=1 to n do
  if a[i]<>max then begin b[j]:=a[i]; inc(j);end; 
  
for i:=1 to n do
write(a[i]:3);
writeln;
 
for i:=1 to j-1 do
write(b[i]:3);
 
end.
0
39 / 39 / 49
Регистрация: 18.12.2015
Сообщений: 127
26.12.2015, 18:22 3
Лучший ответ Сообщение было отмечено Midass как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program z1625566_1; {с дополнительным массивом}
const n=10;
  var a,b:array [1..n] of integer;
      i,k,max:integer;
begin
 randomize;
 writeln('Исходный массив:');
 for i:=1 to n do
   begin a[i]:=random(5)-2; write(a[i]:3)  end;
 writeln;
 max:=a[1];
 for i:=2 to n do
  if max<a[i] then max:=a[i];
 k:=0;
 for i:=1 to n do
 if a[i]<>max
  then begin k:=k+1; b[k]:=a[i] end;
 writeln('Результирующий массив:');
 for i:=1 to k do
   write(b[i]:3)
end.
Добавлено через 11 часов 15 минут
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
Program z1625566_2; {Вариант 2 без дополнительного массива}
 const n=10;        {извиняюсь, очень подробно, для начинающих}
 var a,b:array [1..n] of integer;
     i,j,x,k,max:integer;
begin
 cls; randomize;
 writeln('Исходный массив:');
 for i:=1 to n do
   begin a[i]:=random(5)-2; write(a[i]:3) end;
 writeln;
 max:=a[1];
 for i:=2 to n do
  if max<a[i] then max:=a[i];
 k:=0;
 for i:=1 to n do
  if a[i]=max then k:=k+1;
 for i:=n downto 1 do
 if a[i]=max
  then
    for j:=i+1 to n do
     a[j-1]:=a[j];
 writeln('Результирующий массив:');
 for i:=1 to n-k do
   write(a[i]:3);
  writeln;
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
program z1625566_2tr;                                  {Вариант 2 без дополнительного массива }
const n=5;                                             {подробно, с частичной трассировкой}
  var a,b:array [1..n] of integer;
      i,j,x,k,max:integer;                             ii:integer;
begin
 cls; randomize;
 writeln('Исходный массив:');
 for i:=1 to n do
   begin a[i]:=random(5)-2; write(a[i]:3) end;
 writeln;
 max:=a[1];
 for i:=2 to n do
  if max<a[i] then max:=a[i];                           writeln('max=',max);
 
 k:=0;
 for i:=1 to n do
  if a[i]=max then k:=k+1;                              writeln('kmax=',k);
 
 for i:=n downto 1 do                             begin writeln('i=',i);
 if a[i]=max
  then                                            begin writeln('a[',i,']=','max ',a[i],'=',max,' ',a[i]=max);
    for j:=i+1 to n do                            begin
     a[j-1]:=a[j];                                for ii:=1 to n do write(a[ii]:3);writeln; end;
   end;                                                                                     end;
 
 writeln('Результирующий массив:');
 for i:=1 to n-k do
   write(a[i]:3);
  writeln;
end.
Добавлено через 7 часов 47 минут
! Во втором варианте переменную x и массив b из описания нужно убрать.

Третий вариант отличается от второго только тем, что поиск max и k(max) производится в одном цикле:

Pascal
1
2
3
4
5
6
7
8
9
10
11
program z1625566_3;             {Вариант 3 без дополнительного массива}
 const n=10;                    {поиск max и k(max) в одном цикле}
 var a:array [1..n] of integer;
     i,j,k,max:integer;
 
 max:=a[1]; k:=1;
 for i:=2 to n do
  if a[i]=max
   then k:=k+1
   else if max<a[i]
         then begin max:=a[i]; k:=1 end;
1
26.12.2015, 18:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2015, 18:22
Помогаю со студенческими работами здесь

Массивы: получить новый массив, выбросив из исходной все члены с максимальным значением
Получить новый массив, выбросив из исходной все члены с максимальным значением. написать программу...

Дан массив X(N). Сформировать новый массив, выбросив из исходного все элементы с наименьшим значением.
Помогите, пожалуйста, решить. И если можно, то поподробнее, а то что-то мало понимаю массивы...(

Получить из него два массива: в один записать все положительные элементы, в другой – отрицательные элементы исходного массива
Дан массив. Получить из него два массива: в один записать все положительные элементы, в другой –...

В новый массив скопировать элементы исходного массива, стоящие до первого вхождения элемента со значением 0
1.Предусмотреть два варианта ввода: с клавиатуры и генерацией случайных значений. Сформировать...

Получите новый массив, элементы которого равны разности между максимальным и соответствующим элементом исходного массива
Сформируйте массив, содержащий 15 элементов, с помощью датчика случайных чисел. Получите новый...

Получить новый массив "сжатием " данного массива ,удалив из него все нулевые элементы.
Здравствуйте, помогите пожалуйста решить: дано число N и массив a(k=1,N). получить новый массив...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru