Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2014, 11:45   #1
Firgat13
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 20
По умолчанию динамические структуры данных.линейные списки.

Сформировать список из N целочисленных случайных элементов (N- вводится пользователем ,значения элементов выбирать из диапазона от 0 до 99 ). После каждого элемента с четным числом вставить элемент , содержащий сумму цифр этого числа.
не могу сделать
Firgat13 вне форума Ответить с цитированием
Старый 31.10.2014, 11:46   #2
Firgat13
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 20
По умолчанию

uses crt;
type Ptr=^count;
count=Record
Key:integer;
Nexttr;
end;
var p,q,first,ltr;
n,i,k:integer;
begin
randomize;
//создаем исходный список
repeat
write('Размер списка n>1 n=');
readln(n);
until n>1;
writeln('Введите первый элемент от 0 до 99');
new(p);
first:=p;
p^.next:=nil;
repeat
readln(a);
until a in [0..99];
p^.key:=a;
q:=p;
writeln('Введите остальные числа от 0 до 99');
for i:=2 to n do
begin
new(p);
repeat
readln(a);
until a in [0..99];
p^.key:=a;
p^.next:=nil;
q^.next:=p;
q:=p;
end;
//выводим его на экран
writeln('Исходный список');
p:=first;
while (p<>nil) do
begin
write(p^.key,' ');
p:=p^.next;
end;
writeln;
//вставляем суммы цифр после элементов с четными номерами
p:=first;
i:=0;
while p<>nil do
begin
k:=p^.key; //смотрим значение
i:=i+1; //его номер в начальном списке
if i mod 2=0 then //если номер четный
begin
new(l);
q:= p^.next;
p^.next:=l;
l^.next:=q;
l^.key:=k div 10+k mod 10;//сумма цифр 1 и 2 значных чисел (0..99);
p:=l^.next;
end
else p:=p^.next; //если номер нечетный дальше
end;
//выводим полученный список
writeln('Вставка суммы цифр после элементов с четными номерами');
p:=first;
while (p<>nil) do
begin
write(p^.key,' ');
p:=p^.next;
end;
end.









вроде так но нужно только сделать рандом а не самому вводить
Firgat13 вне форума Ответить с цитированием
Старый 31.10.2014, 15:37   #3
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Readln(a);
Заменить на
A:=random(какое-нибудь_число);
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
динамические структуры данных.линейные списки. Firgat13 Паскаль, Turbo Pascal, PascalABC.NET 8 31.10.2014 10:15
Линейные динамические структуры данных. Списки Panda_Vi Visual C++ 0 17.04.2012 23:05
Динамические структуры данных. Списки. dmit365 Помощь студентам 1 20.12.2009 23:12
Динамические структуры данных - списки FoOtBaLiIsT Общие вопросы C/C++ 0 18.03.2009 22:10