![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Merlin |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 114 Пол: Мужской Реальное имя: Ден Репутация: ![]() ![]() ![]() |
Помогите решить задачку :
Задан упорядоченный по невозрастанию одномерный массив. 1) Найти произведение отрицательных элементов массива; 2) Найти сумму положительных элементов массива; 3) Упорядоченный по невозрастанию массив преобразовать в упорядоченный по возрастанию, оставив по одному в каждой группе совпадающих элементов. -------------------- |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Используй Поиск + FAQ ... Уже десятки раз решалось.
|
Merlin |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 114 Пол: Мужской Реальное имя: Ден Репутация: ![]() ![]() ![]() |
Насчёт пунктов 1 и 2 я почти разобрался, а вот как с 3). ? а именно :
Как сделать вот это : "оставив по одному в каждой группе совпадающих элементов." -------------------- |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата Как сделать вот это : "оставив по одному в каждой группе совпадающих элементов." Вот тебе пример: const |
Merlin |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 114 Пол: Мужской Реальное имя: Ден Репутация: ![]() ![]() ![]() |
Цитата Задан упорядоченный по невозрастанию одномерный массив Это понимать как : 1. const 2. Или надо сначала задать массив, а потом упорядочить по невозрастанию ? -------------------- |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Ну, во-первых, у тебя в задании записано, что он уже задан как упорядоченный, значит ничего дополнительно с ним делать для этого не надо...
А во вторых, то что ты привел в предыдущем посте - ошибка, т.к. у тебя получается не массив чисел, а массив строк. Паскаль это не пропустит... Посмотри как у меня написано... |
Merlin |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 114 Пол: Мужской Реальное имя: Ден Репутация: ![]() ![]() ![]() |
Volvo, подскажи есть ли тут ошибки ? -------------------- |
GoodWind |
![]()
Сообщение
#8
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
такой вариант в ТМТ отработал на "ура", в ТП тоже все должно работать:
Program z; так вот ![]() -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Merlin |
![]()
Сообщение
#9
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 114 Пол: Мужской Реальное имя: Ден Репутация: ![]() ![]() ![]() |
Всё работает, спасибо
![]() Цитата ) Упорядоченный по невозрастанию массив преобразовать в упорядоченный по возрастанию Как вы думаете пойдёт такой способ из FAQ'а ?
-------------------- |
klem4 |
![]()
Сообщение
#10
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Инверсия решит ;)
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Merlin |
![]()
Сообщение
#11
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 114 Пол: Мужской Реальное имя: Ден Репутация: ![]() ![]() ![]() |
Код Program z; const a: array [1..10] of integer = (5, 4, 3, 2, 2, 1, -1, -2, -3, -4); Var i , j , P, S, n :integer; temp: array [1..10] of integer; Begin n:=10; P:=1; for i:=1 to n do if a[i] < 0 then begin { произведение отриц. элем. } P:= P* a[i]; end; S:=0; for i:=1 to n do if a[i] > 0 then begin { Сумма положит. элементов } S:= S + a[i]; end; i := 2; while i <= n do if a[i] = a[i - 1] then begin for j := i to n - 1 do a[j] := a[j + 1]; dec(n); end else inc(i); for i:= 1 to n div 2 do begin temp: = a[i]; { Выдаёт ошибку type mismatch } a[i]:= x[n-i +1]; a[n-i+1]:=temp; end; for i := 1 to n do write(a[i]:4); writeln; writeln( ' Сумма положительных элементов S=', S:3); writeln( ' Произведение отрицательных элементов P=' ,P:3); end. Что с этой инверсией не так, что я сделал неправильно ? -------------------- |
klem4 |
![]()
Сообщение
#12
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
посмотри как у тебя описана temp ... она должна быть не тип массива, а тип элемента массива
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 16.06.2024 18:25 |