4237 / 1739 / 247
Регистрация: 01.05.2013
Сообщений: 7,739
1

Найти отрезки неубывания в N последовательности целых чисел

20.11.2018, 22:43. Показов 667. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Задано преподавателем напасть программу выводящую на экран отрезки неубывания из N последовательности целых чисел.
Также этим отрезком может являться одно число.
Например: есть последовательность -5,-3,20,15,24,5,4,6,7,10,16,18
этими самыми отрезками тут будут "-5,-3,20", "24", "6,7,10,16,18".

Построить саму последовательность труда не составляет,а вот что дальше делать ума не приложу.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2018, 22:43
Ответы с готовыми решениями:

С клавиатуры вводится N целых чисел a1, a2,….,aN. Найти сумму этих чисел. Найти номер первого четного числа последовательности чисел.
Решить задачу 3 способами: 1. Используя метки и оператор goto (не используя никакой цикл) 2....

Среди заданной последовательности целых чисел найти степени двойки
Среди заданной последовательности целых чисел найти степени двойки. Помогите чем сможете

Среди заданной последовательности целых чисел найти нечетные числа кратные трем
Среди заданной последовательности целых чисел найти нечетные числа кратные трем.

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

12
98 / 36 / 18
Регистрация: 05.11.2018
Сообщений: 231
20.11.2018, 23:03 2
Цитата Сообщение от Turok123 Посмотреть сообщение
Построить саму последовательность труда не составляет,а вот что дальше делать ума не приложу.
Если нужно отсортировать массив по неубыванию,пойдет метод пузырька:
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
var
    arr: array[1..100] of integer;
    i, j, k,n,m: integer;
begin
    readln(n); //количество элементов массива
    for i:=1 to n do
    read(arr[i]);
   // for i := 1 to m do begin
    //    arr[i] := random(256);
   //     write (arr[i]:4); если нужны случайные числа уберите три предыдущие строки и разкоментируйте эту
   // end;
    writeln; writeln;
    m:=n;
    for i := 1 to m-1 do
        for j := 1 to m-i do
            if arr[j] > arr[j+1] then begin
                k := arr[j];
                arr[j] := arr[j+1];
                arr[j+1] := k
            end;
    write ('Отсортированный массив: ');
    for i := 1 to m do
        write (arr[i]:4);
    writeln;
readln
end.
Дальше уж с выводом там сами разберетесь.Все отрезки предлагаю сохранить в один массив,попутно находя их считывая последовательность.
1
Модератор
9611 / 4931 / 3252
Регистрация: 17.08.2012
Сообщений: 15,380
21.11.2018, 13:01 3
Mikstereo, предлагаемое Вами решение неоправданно сложное. Никакой сортировки не требуется.
Turok123, вероятно, Вы ошиблись. Этими самыми отрезками будут "-5, -3, 20", "15, 24", "5", "4, 6, 7, 10, 16, 18".
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
const m = 100;
 
var
  a: array[1..m] of integer;
  i, n: integer;
 
begin
  writeln('Введите члены последовательности в одну строку через пробел,');
  writeln('(не более ', m, ' целых чисел), и нажмите <Enter>:');
  n := 0;
  while not seekeoln and (n < 100) do
    begin
      inc(n);
      read(a[n])
    end;
  readln;
  if n > 0
    then begin
      writeln('Отрезки неубывания последовательности:');
      write(a[1], ' ');
      for i := 2 to n do
        begin
          if a[i - 1] > a[i] then writeln;
          write(a[i], ' ')
        end
    end
    else write('Пустая последовательность');
  readln
end.
1
4237 / 1739 / 247
Регистрация: 01.05.2013
Сообщений: 7,739
28.11.2018, 00:18  [ТС] 4
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
while not seekeoln and (n < 100) do
Так это же не будет работать, т.к. операция логическая операция "not" не применима к типам данных integer и boolean. Или я что-то путаю ?

Добавлено через 38 секунд
Компилятор кстати также дают ошибку на 11-й строчке.
0
Эксперт Pascal/Delphi
6806 / 4565 / 4817
Регистрация: 05.06.2014
Сообщений: 22,438
28.11.2018, 09:00 5
Цитата Сообщение от Turok123 Посмотреть сообщение
Компилятор кстати также дают ошибку на 11-й строчке.
Free Pascal честно работает.
Работайте в нормальном паскаль-компиляторе и будет вам счастье (С).
0
4237 / 1739 / 247
Регистрация: 01.05.2013
Сообщений: 7,739
28.11.2018, 12:25  [ТС] 6
ZX Spectrum-128, Дико извиняюсь, а чем плох компилятор TDM-GCC-32 ? Врёт, косячит ? Что с ним не так ?
0
Эксперт Pascal/Delphi
6806 / 4565 / 4817
Регистрация: 05.06.2014
Сообщений: 22,438
28.11.2018, 17:43 7
Turok123, я вообще про него в первый раз слышу. Отчего-то подумал, что вы работаете в pabc.net (который выдавал ошибку на 11-й строке).
fpc нормально отработал.
Цитата Сообщение от Turok123 Посмотреть сообщение
я что-то путаю
http://pascal.net.ru/SeekEoln
0
4237 / 1739 / 247
Регистрация: 01.05.2013
Сообщений: 7,739
28.11.2018, 18:33  [ТС] 8
ZX Spectrum-128,
Цитата Сообщение от Turok123 Посмотреть сообщение
TDM-GCC-32
Рекомендован деканом факультета в связке с PascalABCNET
0
Модератор
9611 / 4931 / 3252
Регистрация: 17.08.2012
Сообщений: 15,380
28.11.2018, 21:26 9
Turok123, замените seekeoln на eoln. Если ошибка исчезнет - значит, TDM-GCC-32 "плохой", как минимум, в том плане, что не имеет встроенной переменной seekeoln. Если ошибка не исчезнет, значит, в этом TDM-GCC-32 заодно нет и встроенной переменной eoln. Я не знаком с TDM-GCC-32, и, возможно, для определения конца строки у него используется встроенная переменная с другим именем. Или, возможно, у него вовсе нет средств для определения конца строки.

Добавлено через 13 минут
Сразу не заметил.
Цитата Сообщение от Turok123 Посмотреть сообщение
операция "not" не применима к типам данных integer и boolean
Это не так. Если это всё-таки так, то TDM-GCC-32 не годен вообще ни на что. Вывод напрашивается сам собой: Вы ещё недостаточно хорошо знаете паскаль.

Операция not, по словам Никлауса Вирта, как раз и предназначена для данных типа integer и boolean. Это поразрядная инверсия двоичного представления числа типа integer (арифметическая операция), или инверсия переменной типа boolean (логическая операция).
0
4237 / 1739 / 247
Регистрация: 01.05.2013
Сообщений: 7,739
29.11.2018, 22:10  [ТС] 10
Cyborg Drone, Прошу прощения, TDM-GCC-32 - это компилятор С и С++, это меня занесло и он в связке Dev C ++
0
Модератор
9611 / 4931 / 3252
Регистрация: 17.08.2012
Сообщений: 15,380
29.11.2018, 23:37 11
Turok123, ясно. Я на C++ редко пишу, мне Microsoft Visual C++ на побаловаться хватает.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7534 / 4394 / 2785
Регистрация: 22.11.2013
Сообщений: 12,588
Записей в блоге: 1
30.11.2018, 19:15 12
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
не имеет встроенной переменной seekeoln
Функции SeekEoLn, не переменной.
1
Модератор
9611 / 4931 / 3252
Регистрация: 17.08.2012
Сообщений: 15,380
30.11.2018, 21:22 13
Да, функции, естественно. Зарапортовался.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2018, 21:22
Помогаю со студенческими работами здесь

Найти максимальное из 4 целых чисел с помощью процедуры для 2 целых чисел. В чем ошибка?
найти максимальное из 4 целых чисел с помощью процедуры для 2 целых чисел var a,b,c,d,max:integer;...

Напишите программу, которая в последовательности целых чисел определяет среднее арифметическое положительных чисел
Напишите программу, которая в последовательности целых чисел определяет среднее арифметическое...

напишите программу,которая определяет сумму всех положительных чисел вводимой последовательности из N целых чисел.
help me,please!!!

Найти сумму первых n целых положительных четных целых чисел
Написать программу, которая вычисляет сумму первых n целых положительных четных целых чисел....


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

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

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