|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.11.2008, 23:20 | #1 |
Пользователь
Регистрация: 26.10.2008
Сообщений: 40
|
Склеивание массивов в паскале.
Добрый вечер, товарищи!
Прошу помочь с задачей по лабе, я разложил оную задачу на составные части, почти все части смог записать в процедурах, но столкнулся с проблемой, что я не знаю как склеивать массивы, и не знаю как решить условие №2. Прошу взглянуть на условие В одномерном массиве, состоящем из n вещественных элементов, вычис- лить: 1) номер максимального по модулю элемента массива; 2) сумму элементов массива, расположенных после первого положитель- ного элемента. Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит внутри отрезка [а, b], а потом – все ос- тальные. Упорядочить каждую часть массива по возрастанию, используя алго- ритм сортировки методом прямого обмена. и на мой код Program Laba5; Const n=10; Var a:array [1..n] of real; b:array [1..n] of real; c:array [1..n] of real; i, imax, imin, count:real; ibeg, iend:integer; procedure maxnomer;{nahodim nomer max chisla} var a:array [1..n] of real; i,z:interger; begin for i:=1 to n do if A[i]>A[i+1] then {sravnivaem} begin z:=i; i:=i+1; end end; procedure SAP;{summa posle pervogo polojitelnogo} var a:array [1..n] of real; i:integer; S:=real; begin S:=0; for i:=1 to n do if A[i]>0 then begin S:=S+A[i]; i:=i+1; end end; procedure otrezok; {opredeliaem prinadlejnost k otrezku a b} var a:array [1..n] of real; b:array [1..n] of real; c:array [1..n] of real; g,f:real; i,j,d: integer; begin {skaldiavem prinadlejashie v drugoy massiv} j:=1; d:=1; for i:=1 to n do if (A[i]>a) and (A[i]<b) then begin B[j]:=A[i] j:=j+1; i:=i+1; end; else {ne prinadlejashie v 3 massiv} begin C[d]:=A[i]; i:=i+1; d:=d+1; end end; procedure tab2uporiad; var s,q:integer; b:array[1..j] of real; r:real; begin for q:=j downto 2 do for s:=1 to q-1 do {сравнение двух соседних элементов} if (b[s]>b[s+1]) then begin x:=b[s]; {перестановка элементов} b[s]:=b[s+1] ; b[s+1]:=r; end end; procedure tab3uporiad; var o,m:integer; c:array[1..d] of real; b:real; begin for m:=d downto 2 do for o:=1 to m-1 do {сравнение двух соседних элементов} if (a[o]>a[o+1]) then begin x:=a[o]; {перестановка элементов} a[o]:=a[o+1] ; a[o+1]:=b; end end; procedure skleyka;{skleivaem mas 3 i ms 2 v 4 preobrazovanniy i uporiadochenniy} Begin {Ввод значений элементов массива} writeln ('Введите', n, 'элементов массива'); for i:=1 to n do readln(a[i]); end. Исходник немного в пахабном виде(извиняюсь), но я еще не разобрался как мне лучше выводить ответ((( |
04.11.2008, 00:02 | #2 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Чтобы массивы не склеивать, не надо их рвать. В этой задаче все делается в одном массиве. Если в чем не разберетесь, спрашивайте.
Код:
|
04.11.2008, 12:02 | #3 |
Пользователь
Регистрация: 26.10.2008
Сообщений: 40
|
мм, спасибо вам,большое...сколько ж я сделал ошибок... ну ничего, ща все проанализирую....то есть лучшим вариантом было искомый массив задать как тип, а потом уже используя этот тип преобразовывать введенное пользователем?
|
04.11.2008, 12:46 | #4 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Если в программе используются процедуры или функции, то в Паскале для передачи массива как параметра обязательно определить тип массива, иначе подпрограммы не будут работать.
|
04.11.2008, 13:09 | #5 |
Пользователь
Регистрация: 26.10.2008
Сообщений: 40
|
Ага,теперь понял,спасибо!
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
пересечение массивов на С++ | drakon803 | Помощь студентам | 4 | 09.12.2012 10:29 |
Склеивание звуков | varvara16 | Мультимедиа в Delphi | 24 | 14.11.2008 18:24 |
склеивание форм | blackstersl | Общие вопросы Delphi | 1 | 29.10.2008 19:16 |
Склеивание изображений | Geracle | Мультимедиа в Delphi | 10 | 01.10.2008 16:45 |
обновление в блоге - СКЛЕИВАНИЕ ФАЙЛОВ | Pblog | Обсуждение статей | 0 | 07.08.2007 12:41 |