Помощь студентуФайлылабы на Паскалеработа со списками Паскаль
27 Июля 2024, Суббота
06:50
>>> Качественная веб-разработка <<<
06:50
Меню сайта
>Г Л А В Н А Я

>Ф А Й Л Ы

>С Т А Т Ь И

>Р Е Ф Е Р А Т Ы

>Ф О Р У М

>О Т З Ы В Ы

>Т Е С Т Ы

>F l a s h И Г Р Ы

>Ф О Т О Ш О П


Советуем...
В. А. Артамонов Лекции по алгебре,1 семестр
Хороший учебник по Высшей математике. Все описывается кратко, но понятно. Так что, если Вы прогуляли лекцию, то этот учебник поможет Вам.

работа с двумерными массивами Паскаль
Задание:
Построить спираль Улама и подсчитать количество простых чисел.

Механика, колебания и волны, молекулярная физика - Савельев И.В.
Очень хороший учебник по физике, все подробно и понятно описывается, все темы по Механике, Колебаниям и Молекулярке. Советую качать тем, кто начал учить только за день до экзамена.

Лекции и примеры программ на Паскале
В архиве документы *.doc . они содержат краткое вступление о программировании и очень много примеров готовых программ (лаб) на Паскале. В основном приводятся примеры сложных олимпиадных задач, но и в лабах могут тоже такие встречаться.


Опрос
Вы учитесь в ...
Всего ответов: 669

Сотрудничество
Поставьте себе на сайт и сообщите мне


код кнопки:



Файлы
Главная » Файлы » Учебные материалы » лабы на Паскале

работа со списками Паскаль

Название: работа со списками Паскаль
Категория: лабы на Паскале
Формат файла: *.pas
Размер: 2.8 Kb
Просмотров: 6737
Загрузок: 1945

Дата добавления: 01 Июня 2009, 12:23
Теги:преобразовать, информатика, программирование, списки, процедуры, Паскаль, ФУНКЦИИ, ссылка, готовые лабы, индексы
Поделиться:
Скачать:

Скачать работа со списками Паскаль бесплатно и без регистрации


Внимание! Если ссылка не работает, файл не найден или просто возникают какие-либо вопросы, напишите об этом, пожалуйста, мне на почту: xdypx@yandex.ru. В письме достаточно указать ссылку на эту страницу и описание проблемы или свой вопрос.


Описание:
Задание:



Дан
текстовый файл с изображением целых чисел, которые необходимо переписать в
список L1. Удалить
из списка все числа – палиндромы, вставив вместо них
самое минимальное число всего списка.­



Пример:

исходный список:'127 12321 67897 45654 10001 17 9856 93456 767 984'

преобразованный
в список: '127 17 67897 17 17 9856 93456 17 984'.

Исходный код:
Program spiski;
uses crt;
Type
TElement=^element;
 Element=record
 a:string;
 next:TElement;
End;

var Q,last,head:TElement; m,j,c:integer; mas:string[11];

function polindrom(sl:string):boolean;
var cl:string; i,j:integer; b:boolean;
Begin
  polindrom:=false;
  b:=true;
  j:=1; i:=length(sl);
  while (j<i) and b do
   Begin
    if sl[i]<>sl[j] then b:=false;
    j:=j+1;
    i:=i-1;
   End;
   polindrom:=b;
End;

procedure proverka(filename:string);
var f:text;
Begin
 {$I-}
  Assign(f,filename);
  reset(f);
 {$I+}
  if ioresult<>0 then Begin textcolor(204); writeln('ERROR FILE!!!'); readln; halt; End
  else writeln('fail "',filename,'" otkrit');
End;

procedure printfile(filename:string);
var f:text;
    a:string; b:integer;
 Begin
 Assign(f,filename);
 reset(f);
 while not eof(f) do
  Begin
   readln(f,a);
   writeln(a);
  End;
 close(f);
End;

{====sozdanie spiska====}

procedure createhead(var head,last:TElement);
Begin
 new(head);
 head^.next:=nil;
 last:=head;
End;

{====zapolnenie spiska=====}

Procedure add(var last:TElement; k:string);
var Q:TElement;
Begin
  new(Q);
   Q^.a:=k;
   Q^.next:=nil;
   last^.next:=Q;
   Last:=Q;
 End;

{====vivod na ekran spiska====}

procedure print(head:TElement);
var Q:TElement;  l:integer;
Begin
 Q:=head^.next;
 while Q<>nil do
  Begin
  if polindrom(Q^.a)=true then Begin textcolor(5); write(Q^.a,'-->'); End else Begin textcolor(9); write(Q^.a,'-->'); End;
   Q:=Q^.next;
  End;
 writeln;
End;

{====vipoln9Iet...====}

procedure transfer(head:TElement; filename:string);
var Q:TElement; F:text; st,sl:string; l:integer;

Begin
 new(Q);
 Assign(f,filename);
 reset(f);
 st:='';
 sl:='';
 Q:=head^.next;
 while not eof(f) do
  Begin
   readln(f,st);
    for l:=1 to length(st) do
     Begin
      if st[l]<>' ' then sl:=sl+st[l] else
       Begin
        Add(last,sl);
        sl:='';
       End;
     End;
  End;
close(F);
End;

procedure poisk(head:TElement);
 var Q:TElement; sl:string; b,code,min:integer;
Begin
{poisk minimalnogo}
 Q:=head^.next;
 sl:=Q^.a;
 val(sl,b,code);
 min:=b;
 Q:=Q^.next;
  while Q^.next<>nil do
  Begin
   sl:=Q^.a;
   val(sl,b,code);
   if b<min then min:=b;
   Q:=Q^.next;
  End;
 writeln('min= ',min);
 Str(min,sl);
 
 {zamena polindromov}
 Q:=head^.next;
 while Q<>nil do
  Begin
   if polindrom(Q^.a)=true then Q^.a:=sl;
   Q:=Q^.next;
  End;
 
End;

BEGIN
clrscr;


textBackground(14);
textcolor(210);
proverka('g:\in.txt');
textBackground(0);
textcolor(12);
writeln('vivod faila: ');
textcolor(14);
printfile('g:\in.txt');
createhead(head,last);
transfer(head,'g:\in.txt');
textcolor(12);
writeln('vivod spiska: ');
print(head);
poisk(head);
textcolor(12);
writeln('vivod izmenennogo spiska: ');
textcolor(1);
print(head);
writeln;
readln;
END.

Комментарии:
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Разделы новостей
Образование [4]
лабы на Паскале [11]
Шпоры [10]
Учебники [19]
Лабы по физике [3]
Лабы по С++ [7]

Статистика

Яндекс.Метрика


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Все пользователи

Яндекс цитирования Rambler's Top100

Сайт работает с 2008 года