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

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

29.01.2018, 23:34. Показов 5243. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В заданном одномерном массиве. Найти максимальный и минимальный элемент среди отрицательных элементов расположенных на четных местах
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.01.2018, 23:34
Ответы с готовыми решениями:

Найти минимальный элемент последовательности среди элементов расположенных на четных местах
найти минимальный элемент последовательности среди элементов расположенных на четных местах и положительных

Найти максимальный элемент среди элементов массива, стоящих на чётных местах
1)Ввести одномерный массив A , вывести его. Найти максимальный элемент среди элементов, стоящих на чётных местах, и найденным значением...

Найти минимальный элемент среди элементов, расположенных на четных позициях массива
Дан массив А(15). Найти минимальный элемент среди элементов, расположенных на четных позициях массива, а также определить количество и...

15
11 / 11 / 8
Регистрация: 06.01.2018
Сообщений: 134
30.01.2018, 00:26 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
program EvenPosInArr;
uses crt;
const N = 10000;
var i, k, max, min, y1, y2:integer;
    x:array [1..N] of integer;
begin
  clrscr;
  max:=-32768;
  min:=32767;
  y1:=0;
  y2:=0;
  writeln('Введите количество элементов массива');
  readln(k);
  clrscr;
  writeln('Введите массив');
  for i:=1 to k do
  begin 
    readln(x[i]);
    if (i mod 2=0) and (x[i]<0) then
    begin
      if x[i]>max then
      begin
        max:=x[i];
        inc(y1);
      end;
      if x[i]<min then
      begin
        min:=x[i];
        inc(y2);
      end;
    end;
  end;
  clrscr;
  if y1>0 then
    writeln('Максимальный отрицательный элемент, находящийся на чётной позиции это ', max)
  else
    writeln('На чётных позициях массива нет отрицательных элементов.');
  if y2>0 then
    writeln('Минимальный отрицательный элемент, находящийся на чётной позиции это ', min)
  else
    writeln('На чётных позициях массива нет отрицательных элементов.');
end.
1
5 / 5 / 3
Регистрация: 14.11.2016
Сообщений: 94
30.01.2018, 00:34 3
Не успел, но всё равно оставлю это здесь
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 MaxMin;
var a:array[0..9] of integer; min, max, i:integer;
 
begin
    min:=-1; 
    max:=-1;
    
    randomize;
    for i:=0 to length(a) do
    begin
        a[i]:=random(10) - 5;
        write(a[i], ' ');
    end;
    writeln();
    
    for i:=0 to length(a) do
    begin
        if (a[i] < 0) and (i mod 2 = 0) then
        begin
            if a[i] > max then 
                max:=a[i]
            else if (a[i] < min) then 
                min:=a[i];
        end;
    end;
    
    writeln('Max element is ', max);
    writeln('Min element is ', min);
    writeln();
end.
0
11 / 11 / 8
Регистрация: 06.01.2018
Сообщений: 134
30.01.2018, 00:40 4
Knyaz_Myshkin, если у нас в массиве на чётной позиции будет только одно отрицательное число, например -3, то Ваша программа, по идее выведет, что максимальный элемент это -1.
0
5 / 5 / 3
Регистрация: 14.11.2016
Сообщений: 94
30.01.2018, 00:44 5
EvilDog17, да, прога далека от совершенства)
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7802 / 4624 / 2832
Регистрация: 22.11.2013
Сообщений: 13,140
Записей в блоге: 1
30.01.2018, 13:58 6
Цитата Сообщение от EvilDog17 Посмотреть сообщение
Решение не менее тупое, чем сама задача
А вы не пишите тупых решений, пишите продвинутые
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const n=10;
var
  a: array [1..n] of Integer;
  i, mn, mx: Integer;
begin
  Randomize;
  for i:=1 to n do a[i]:=-99+Random(199);
  Write('A ='); for i:=1 to n do Write(' ',a[i]); WriteLn;
  i:=2; mn:=High(mn); mx:=Low(mn);
  while i<=n do begin
    if a[i]<0 then begin
      if mx<a[i] then mx:=a[i];
      if mn>a[i] then mn:=a[i];
    end;
    Inc(i,2);
  end;
  if mn>0 then WriteLn('нет отрицательных элементов')
  else WriteLn('Среди отрицательных min: ',mn,' max: ',mx);
end.
0
11 / 11 / 8
Регистрация: 06.01.2018
Сообщений: 134
30.01.2018, 22:15 7
bormant, The type of expression "high()" is "Object", which cannot be converted to the type "Integer" of variable "mn"
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7802 / 4624 / 2832
Регистрация: 22.11.2013
Сообщений: 13,140
Записей в блоге: 1
30.01.2018, 22:17 8
EvilDog17,
все вопросы к ABC/ABC.NET, именно поэтому у них специальные разделы на этом форуме.
Тем не менее:
Pascal
9
  i:=2; mn:=MaxInt; mx:=-MaxInt-1;
0
11 / 11 / 8
Регистрация: 06.01.2018
Сообщений: 134
30.01.2018, 22:23 9
bormant, а в 15-й строке мы константу пытаемся изменить?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7802 / 4624 / 2832
Регистрация: 22.11.2013
Сообщений: 13,140
Записей в блоге: 1
30.01.2018, 22:24 10
Не, там опечатка, Inc(i,2), поправил.
0
11 / 11 / 8
Регистрация: 06.01.2018
Сообщений: 134
30.01.2018, 22:30 11
bormant, в таком случае, Ваш способ аналогичен моему, за исключением некоторых деталей, ибо работают они по одному и тому же принципу.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7802 / 4624 / 2832
Регистрация: 22.11.2013
Сообщений: 13,140
Записей в блоге: 1
30.01.2018, 22:43 12
Цитата Сообщение от EvilDog17 Посмотреть сообщение
способ аналогичен ... за исключением некоторых деталей
Аналогичен -- находим максимальный и минимальный элемент среди отрицательных элементов расположенных на четных местах.
Но дьявол в деталях :-)

Ошибка: использование плохого значения для max.
Ошибка: вводя с клавиатуры K, неплохо бы проверить, не вышли ли за границы массива.

В остальном:
Нет лишних делений для выяснения четности индексов, нет лишних проверок на существование отрицательных элементов.
Отдельно следует отметить требование к пользователю жать Enter после ввода каждого элемента массива.
0
11 / 11 / 8
Регистрация: 06.01.2018
Сообщений: 134
30.01.2018, 22:52 13
bormant, до
Pascal
1
 Inc(I, 2);
я действительно не додумался.
Вот только не понял, в чём проблема моего max?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7802 / 4624 / 2832
Регистрация: 22.11.2013
Сообщений: 13,140
Записей в блоге: 1
30.01.2018, 23:01 14
Цитата Сообщение от EvilDog17 Посмотреть сообщение
в чём проблема моего max?
Pascal
1
begin WriteLn(-MaxInt-1) end.
В зависимости от транслятора/компилятора и его настроек можете получить как -32768 (и тут нет проблемы), так и -2147483648 (а тут проблема есть, пользователь может ввести все значения меньше -32768, а найденный максимум окажется неправильным).
0
11 / 11 / 8
Регистрация: 06.01.2018
Сообщений: 134
30.01.2018, 23:10 15
bormant, если речь идёт о Free Pascal'е, то для обычного integer моя версия будет работать. -2147483648 - это Int64, вроде.
В любом случае, почему тогда
Pascal
1
 min:=32767
это безоговорочно правильный вариант? Получается диапазон integer для каких-то компиляторов это -2147483648..32767?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7802 / 4624 / 2832
Регистрация: 22.11.2013
Сообщений: 13,140
Записей в блоге: 1
30.01.2018, 23:17 16
Цитата Сообщение от EvilDog17 Посмотреть сообщение
если речь идёт о Free Pascal'е, то для обычного integer моя версия будет работать
Нет, это не так. Возможен Int32, Int64 существенно шире.
https://www.freepascal.org/doc... efsu4.html
Table 3.2: Predefined integer types
Code
1
2
3
4
5
Type                        Range                  Size in bytes
SmallInt               -32768 .. 32767                   2
Integer          either SmallInt or LongInt         size 2 or 4
LongInt           -2147483648 .. 2147483647              4
Int64    -9223372036854775808 .. 9223372036854775807     8
The Integer type maps to the SmallInt type in the default Free Pascal mode. It maps to either a LongInt in either Delphi or ObjFPC mode.
Цитата Сообщение от EvilDog17 Посмотреть сообщение
В любом случае, почему тогда min:=32767 это безоговорочно правильный вариант?
Потому как речь в задании об отрицательных числах, любое из них будет меньше 0, поэтому в качестве min подходит любое число >=0.
Цитата Сообщение от EvilDog17 Посмотреть сообщение
Получается диапазон integer для каких-то компиляторов это -2147483648..32767?
Конечно нет. Для такого вывода нет оснований, настоящая причина -- выше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2018, 23:17
Помогаю со студенческими работами здесь

Найти максимальный элемент среди элементов, расположенных в четных столбцах массива
Доброго времени суток. Даны целые массивы a, b. Для каждого массива определить максимальный элемент. В программе должны быть функции:...

Определить максимальный среди четных и минимальный среди отрицательных элемент массива
дан массив из 10 целых чисел.Определите максимальное среди четных и минимальное среди отрицательных.ПОМОГИТЕ ПОЖАЛУЙСТА:(

Найти максимальный элемент среди элементов, расположенных в четных столбцах массива (включая нулевой столбец)
Даны целые массивы a, b. 1)Для каждого массива определить максимальный элемент. 2)Найти максимальный элемент среди элементов,...

В целочисленном массиве найти минимальный элемент среди нечетных и максимальный элемент среди четных элементов
Помогите пожалуйста :help: Задание: В целочисленном массиве X найти минимальный элемент среди нечетных и максимальный элемент среди...

Найти максимальный элемент массива на четных местах и минимальный - на нечетных
Написать программу на VBA, которая позволяет в одномерном массиве осуществлять поиск максимального элемента на четных местах и минимального...


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

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

Новые блоги и статьи
Java Micronaut в Docker: контейнеризация с Maven и Jib
Javaican 16.03.2025
Когда речь заходит о микросервисной архитектуре на Java, фреймворк Micronaut выделяется среди конкурентов. Он создан с учётом особенностей облачных сред и контейнеров, что делает его идеальным. . .
Управление зависимостями в Java: Сравнение Spring, Guice и Dagger 2
Javaican 16.03.2025
Инъекция зависимостей (Dependency Injection, DI) — один из фундаментальных паттернов проектирования, который радикально меняет подход к созданию гибких и тестируемых Java-приложений. Суть этого. . .
Apache Airflow для оркестрации и автоматизации рабочих процессов
Mr. Docker 16.03.2025
Управление сложными рабочими процессами — одна из главных головных болей инженеров данных и DevOps-специалистов. Представьте себе: каждый день нужно запускать десятки скриптов в определенной. . .
Оптимизация приложений Java для ARM
Javaican 16.03.2025
ARM-архитектура переживает настоящий бум популярности в технологическом мире. Когда-то воспринимаемая исключительно как решение для мобильных устройств и встраиваемых систем, сегодня она штурмует. . .
Управление состоянием в Vue 3 с Pinia и Composition API
Reangularity 16.03.2025
Когда я начал работать с Vue несколько лет назад, мне казалось достаточным использовать простую передачу данных через props и события между компонентами. Однако уже на среднем по сложности проекте. . .
Введение в DevSecOps: основные принципы и инструменты
Mr. Docker 16.03.2025
DevSecOps - это подход к разработке программного обеспечения, который объединяет в себе принципы разработки (Dev), безопасности (Sec) и эксплуатации (Ops). Суть подхода заключается в том, чтобы. . .
GitHub Actions vs Jenkins: Сравнение инструментов CI/CD
Mr. Docker 16.03.2025
В этой битве за эффективность и скорость выпуска программных продуктов ключевую роль играют специализированные инструменты. Два гиганта в этой области — GitHub Actions и Jenkins — предлагают разные. . .
Реактивное программировани­е с Kafka Stream и Spring WebFlux
Javaican 16.03.2025
Реактивное программирование – это программная парадигма, ориентированная на потоки данных и распространение изменений. Она позволяет выражать статические или динамические потоки данных и. . .
Простая нейросеть на КуМир: Учебное пособие по созданию и обучению нейронных сетей
EggHead 16.03.2025
Искусственные нейронные сети — удивительная технология, позволяющая компьютерам имитировать работу человеческого мозга. Если вы хотя бы немного интересуетесь современными технологиями, то наверняка. . .
Исполнитель Кузнечик в КуМир: Решение задач
EggHead 16.03.2025
Среди множества исполнителей в системе КуМир особое место занимает Кузнечик — простой, но невероятно полезный виртуальный персонаж, который перемещается по числовой прямой, выполняя ваши команды. На. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru