Как добавить новую запись в динамический список? |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Как добавить новую запись в динамический список? |
alex457 |
17.04.2012 20:23
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Реальное имя: alex Репутация: 0 |
Существует односвязный линейный список. Информация читается из файла в список. Вопрос состоит в том, как добавить новый элемент в уже существующий список? Заранее, очень благодарен.
Создание списка:
Вывод всех записей:
|
Assassin |
13.02.2013 17:11
Сообщение
#2
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Разработать программу получения и обработки одномерного массива, состоящую из 4 частей.
Часть 1. Вычислить значения 32 элементов одномерного целочисленного массива T в интервале (-8,8) с использованием генератора случайных чисел. Часть 2. Вычислить среднеарифметическое значение нечетных по номеру элементов последней трети массива. Часть 3. Определить два наибольших элемента, среди отрицательных элементов первой четверти массива. Часть 4. Упорядочить чётные по номеру элементы всего массива по возрастанию модулей обратных. где у меня ошибки Program Work_4; Type vector=array[1..100] of integer; var c,buf,Vr, n, i, a, b: integer; G: vector; Sg,P: real; Procedure Part_1(Vr,n,a,b:integer; var G:vector); var i:integer; Begin If Vr<>1 then randomize; for i:=1 to n do g[i]:=a+Round((b-a)*Random(100)/100); end; Procedure Part_2(n:integer; G:vector; var Sg:real); var i,k:integer; P:real; Begin P:=1; k:=0; For i:=1 to (n div 3)*2+1 do if i mod 2=1 then begin inc(g[i]); inc(k); end; writeln; if k=0 then writeln('Нет четных элементов в последней трети массива') else writeln('Ср.ар=',P/k:7:2); end; Procedure Part_3(n:integer; G:vector); var i,k,max,max2:integer; Begin k:=0; max:=g[1]; max2:= g[2]; If g[i]<0 then while (i<n) do begin if max < max2 then begin max:=g[2]; max2:=g[1]; end; For i:=1 to n div 4 do if g[i]>max then begin max2:=max; max:=g[i]; end else if g[i]>max2 then max2:=g[i]; end; begin writeln('max1=',max,'max2',max2); end; k:=k+1; end; Procedure Part_4(n:integer; var Num,A,B:vector); var i, temp, m, j: integer; f: boolean; Begin for i:=1 to n do begin A[i]:=random(20)+1; write(A[i]:4); end; writeln; m:=0; for i:=2 to n div 2 do begin if i mod 2 = 0 then begin inc(m); B[m]:=A[i]; num[m]:=i; end; end; for i:=1 to m do begin write(B[i]:4); end; writeln; for i:= 1 to m - 1 do for j:=1 to m - i do if Abs(1/b[j]) < Abs(1/b[j+1]) then begin temp:=b[j]; b[j]:=b[j+1]; b[j+1]:=temp; end; for i:=1 to n do begin f:=false; j:=0; repeat inc(j); if num[j] = i then f:=true; until f or ( j = m ); if f then write(B[j]:4) else write(A[i]:4); end; readln; end; begin write('введите вариант расчета Vr => '); readln(Vr); if Vr=0 then begin n:=25; a:=-8; b:=7; c:=2; g[1] := 1; g[2] := 0; g[3] :=-3; g[4] := 2; g[5] := 0; g[6] :=-3; g[7] := 4; g[8] := 3; g[9] := 2; g[10]:= 0; g[11]:= 0; g[12]:= 4; g[13]:= 0; g[14]:=-2; g[15]:=-1; g[16]:=-1; g[17]:= 1; g[18]:=-5; g[19]:= 0; g[20]:= 6; g[21]:= 2; g[22]:=-7; g[23]:=-5; g[24]:= 1; g[25]:= 3; end else begin Write('Vvedite n,a,b => '); readln(n,a,b); Part_1(Vr,n,a,b,g); end; for i:=1 to n do write(g[i],' ' ); end. |
Текстовая версия | 4.05.2024 11:02 |