1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| timan |
Сообщение
#1
|
|
Гость |
В одномерном массиве, состоящем из n вещественных элементов вычислить:
1. Кол-во элементов меньших С. 2. Сумму целых частей элементов массива, расположенных после последнего отрицательного элемента. Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающие от максимального не более чем на 20 %, а потом– все остальные. |
![]() ![]() |
| murphy |
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 98 Пол: Мужской Репутация: 0 |
Цитата Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающие от максимального не более чем на 20 %, а потом– все остальные. Что то такое Код program jjh; const n=5; B: array[1..n] of real = (2.5, -2.0, 1.5, 2.4, -15.45); var A: array[1..n] of real; max, bu: real; i, j, k: byte; function findmax(X:array of real): real; var i,n: byte; m: real; begin m:=X[1]; for i:=0 to high(X)-1 do if X[i]>m then m:=X[i]; findmax:=m; end; function otl (m, r: real): boolean; begin if (abs(m-r)/m)*100>20 then otl:=false else otl:=true; end; begin max:=findmax(B); writeln(max:5:2); k:=0; for i:=1 to n do if not(otl(max ,B[i])) then begin inc(k); A[k]:=B[i]; {bu:=B[i]; for j :=i downto k do B[j]:=b[j-1]; b[k]:=bu;} {B[j]:=B[j]+B[k]; B[k]:=B[j]-B[k]; B[j]:=B[j]-B[k]; inc(k);} end; for i:=1 to n do if otl(max ,B[i]) then begin inc(k); A[k]:=B[i]; end; for i:=1 to n do write(A[i]:7:2); readln end. Не тестировал и не компелировал... -------------------- collect the infotrons and find Exit
|
timan операции с массивом 25.12.2004 4:43
klem4 1. Кол-во элементов меньших С.
uses crt;
const n… 25.12.2004 20:44
volvo murphy
Вот и напрасно - запутался в значениях...… 25.12.2004 21:58
murphy :p2: 25.12.2004 23:49
Guest А как вычеслить Пункт 2
Сумму целых частей элемен… 5.09.2005 21:26
volvo Проходи по массиву из конца в начало, пока не встр… 5.09.2005 21:44
Guest А можно на примере :) 5.09.2005 22:01
volvo const
n = 5;
a: array[1 .. n] of real =
(2… 5.09.2005 23:42![]() ![]() |
|
Текстовая версия | 8.11.2025 15:02 |