![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Anton |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всем привет!
![]() Народ, реально зашиваюсь, ничего не успеваю... до утра надо!!! Если реально, можете помочь написать програмку на динамическую память, вот условие: 3. Даны натуральное число n, действительные числа a1, ..., a2n. Получить: а) (a1 - a2n)(a3 - a2n-2)(a5 - a2n-4) … (a2n-1 - a2); б) a1a2n + a2a2n-1 + … + anan+1; в) min(a1 + an+1, a2 + an+2, …, an + a2n); г) max (min(a1, a2n), min(a2, a2n-1), …, min(an, an+1)). Мдя, условие немного искажено, но это не важно. Вот мои наброски, а задать условие не получается, туплю что-то: Код uses crt; type floatArr = array[1 .. maxint div sizeof(integer)] of integer; var i,n:integer; pArr: ^floatArr; p:integer; BEGIN ClrScr; getmem(pArr, sizeof(integer)); Write('Vvedite n='); Readln(n); writeln('Ishodniy massiv:'); for i:=1 to 2*n do begin pArr^[i]:=random(10); write(pArr^[i],' '); end; writeln; readkey; END. Вот, помогите, плиз! |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Anton
Я бы так делал: Код Uses Crt; Function rmin(a, b: Real): Real; Begin rmin := a; If b < a Then rmin := b End; Const n: Integer = 20; Type floatArr = Array[1 .. maxInt div SizeOf(Real)] Of Real; Var i: integer; pArr: ^floatArr; min, max, p, x: Real; begin ClrScr; Write('Vvedite n='); Readln(n); GetMem(pArr, 2*n*SizeOf(Real)); Writeln('Ishodniy massiv:'); For i := 1 To 2*n Do Begin pArr^[i] := Random(10); Write(pArr^[i]:5:0) End; WriteLn; (* A part *) p := 1; i := 1; While i <= (2*n - 1) Do Begin p := p * (pArr^[i] - pArr^[2*n - i + 1]); Inc(i, 2) End; Writeln('a) p = ', p:10:5); (* B part *) p := 0; For i := 1 To n Do p := p + pArr^[i]*pArr^[2*n - i + 1]; Writeln('b) p = ', p:10:5); (* C part *) min := maxInt; For i := 1 To n Do Begin x := pArr^[i] + pArr^[n + i]; If min > x Then min := x; End; Writeln('c) min = ', min:10:5); (* D part *) max := -maxInt; For i := 1 To n Do Begin x := rmin(pArr^[i], pArr^[2*n - i + 1]); If max < x Then max := x End; Writeln('d) max = ', max:10:5); ReadLn end. |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 10:00 |