![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 17.02.2010
Сообщений: 8
|
![]()
народ помогите разобраться
нужно сформировать список L1 и L2 по следующему правилу: в L1 поместить четные положительные элементы списка L, в L2 - нечетные отрицательные элементы списка и подсчитать количество компонентов в списках L1 и L2. ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Язык то какой?
Какой список то? О чем вообще речь?
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 17.02.2010
Сообщений: 8
|
![]()
язык Паскаль, список не динамический
|
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Что-то вроде этого?
Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 17.02.2010
Сообщений: 8
|
![]()
нет не так, не таким способом нужно( у меня есть пример похожей задачи
сейчас выложу |
![]() |
![]() |
![]() |
#6 |
Регистрация: 17.02.2010
Сообщений: 8
|
![]()
Пусть необходимо сформировать два списка действительных элементов: Listl и List2. Минимальный элемент списка Listl поместить первым в List2, максимальный элемент второго списка List! поместить последним в список Listl. Если количество элементов соответствующего списка четно, вставить в середину списка значение среднего арифметического его элементов, если нечетно - удалить центральный элемент и на его место поместить значение среднего арифметического.
{Programme: Lists} {Cel': obrabotka dinamicheskih spiskov.} {Peremenniy: Listl, List2 - spisok deistvitelniyh elementov.} {Podprogrammiy} {InPutList - procedyra woda spiska;} {OutPutList - procedyra viyvoda spiskaa;} {MinElem - fynkciyi opredelenii minimal'подо elementa spiska/} {MaxElem - fynkciyi opredelenii maximal'nogo elementa spiska;} {LenList - funkciy opredelenii kolichestva elementov spiska;} {SrArif - funkciy opredelenii srednego arifmeticheskogo elementov spiska;} {FindElem - funkciy poiska elementov spiska;} {InsElem - procedyra ydalenii elementa spiska;} {Chet - procedyra vstavki srednego arifmeticheskogo elementov spiska;} program list; uses crt; type pList=Aelem; elem=record data:real; next ![]() {procedura woda} procedure inputlist (name:string; var list ![]() n,i:integer; znach:real; elnew,elpred ![]() write('vvedite kol-vo elementov spiska ',Name,':•); readln(n) ; list:«nil; write('vvedite elementi spiska ',Name,':'); for i:=l to n do begin read(znach); |
![]() |
![]() |
![]() |
#7 |
Регистрация: 17.02.2010
Сообщений: 8
|
![]()
new(elnew); elnew^ .data:=znach; elnewA.next:=nil ; if List=nil then
list:=elnew else elpredA . next: =*elnew; elpred:=elnew; end; end;{inputlist} {procedura vivoda} procedure outputlist (name:string; list ![]() i:integer; begin {outputlist} write('elementi spiska',Name,' : '); while listonil do begin write(listA.data:5:2,' '); list:=listA.next; end; {writeln;} end;{outputlist} {functiya poiska minimalnogo elementa spiska} function minelem (list ![]() ![]() if listA .data<min/4 .data then min:=list; list:=listA.next; end; minelem: =minA.data; end;{minelem} |
![]() |
![]() |
![]() |
#8 |
Регистрация: 17.02.2010
Сообщений: 8
|
![]()
{functiya poiska maximalnogo elementa spiska} function maxelem (list
![]() ![]() if listA.data>maxA.data then max:=list; list:=listA.next; end; maxelem:=maxA.data; end;{maxelem} {functiya opredeleniya kolichestvo elementov spiska} function lenlist (list ![]() |
![]() |
![]() |
![]() |
#9 |
Регистрация: 17.02.2010
Сообщений: 8
|
![]()
var
i:integer; begin {lenlist} i:=0; while listonil do begin inc(i); listi=listA .next; end; lenlist *.=i; end;{lenlist} {functiya vichesleniya srednego arifmeticheskogo elementov spiska} function srarif (list ![]() while listonil do begin sri=sr+listA.data; listi=listA.next; inc(i) ; end; srarif:=sr/i; end;{srarif} {fynctiya poiska elementa po nomery v spiske} Function FindElem(n:integer;ListiPList):PLis t; var i:integer; begin {FindElem} for i:-l to n-1 do List:=ListA.next; FindElem:■ List end; {FindElem} {procedura ydaleniay elementa po nomery v spiske} Procedure DelElem(n:integer; var ListiPlist); var El: PList; begin {DelElem} Eli=FindElem(n,List)A.next; FindElem (n-1,List)A.next:=El; End; {DelElem} {procedura vstavki elementa v spisok na zadannyu poziciu} Procedure InsElem(n:integer; Elem:real; Var ListiPlist); var EINew: PList; begin {InsElem} new(EINew); ElNewA.Data:=Elem; If noi then begin |
![]() |
![]() |
![]() |
#10 |
Регистрация: 17.02.2010
Сообщений: 8
|
![]()
ElNewA.nexti=FindElem(n-l,List)A.next; FindElem(n-1, List)A.next:=ElNew; end else begin
ElNewA.nexti=list; listi=ElNew; end; end;{InsElem} {procedura vstavki srednego arifmeticheskogo v spisok} procedure Chet(niinteger; Var List ![]() Var Sireal; begin{chet} Si^Srarif(list) ; If odd(n) then begin delelem(n div 2+1, List); inselem(n div 2+1,S, List); end else inselem(n div 2+1,S, List); end;{chet} var listl,list2 ![]() inputlistClistl' ,listl) ; inputlist('list2 ', list2); if (listl=nil) or (list2=nil) then begin writeln(' Odin spisok pust'); exit; end; writelnClshodnie dannie1); outputlist('listl',listl); writeln; outputlist('list2',list2); writeln; inselem(l,Minelem(listl), List2); inselem(Lenlist(listl)+l,Maxelem(li st2) , Listl); chet(Lenlist(listl),Listl); writeln; outputlist('listl', listl); chet(Lenlist(list2),List2); writeln; outputlist('list2',list2); end. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нахождение в столбце с числами строк, сумма чисел которых равна определенному значению | KNatalia | Microsoft Office Excel | 2 | 16.09.2009 08:42 |
Объединение нескольких таблиц в одну (по определенному параметру) | iona | БД в Delphi | 13 | 18.06.2009 19:34 |
Удаление строк по определенному критерию | Franck | Microsoft Office Excel | 4 | 16.02.2009 11:27 |
Преобразовать последовательность по правилу | Григорийpnz | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 18.11.2008 18:31 |