ݺߣ

ݺߣShare a Scribd company logo
Лабораторная работа №8 Организация списков с помощью указателей и структур
Пример решения задачи Задача.   Дана последовательность из  n  идентификаторов. Длина каждого идентификатора не более 8 символов. Напечатать идентификаторы в лексикографическом порядке. Пример теста:   Исх.посл-ть:  Результат: SIMV A X A1 A1 SIMV SL SL Z20 TEXT A X TEXT Z 20
Формирование списка идентификаторов
Программа : /* Директивы препроцессора */ . . . /* тип элемента списка  */ struct  EL _ SP   {  char  id [MAXDL];   /* идентификатор  */ struct  EL _ SP  *sled;   /* ссылка на следующий эл - т  */ }; /*------------------------------------------------------------- ------- -- ------------ ----*/ /*  функция включения очередного идентификатора в список  */ /*--------------------------------------------------------------------------------------*/ void  Vkl  ( struct EL_SP **p, char  t_id [ ] ) {  . . .  }
/*----------------------------------------------------------*/ /*  функция   печати   списка   */ /*----------------------------------------------------------*/ void  PechSp  (  struct EL_SP *p ) {  . . .   } /*----------------------------------------------------- -- ------*/ /*  О С Н О В Н А Я  П Р О Г Р А М М А  */ /*------------------------------------------------ --- ----------*/ main() {  struct  EL _ SP   *p;  /* указатель начала списка  */ unsigned  n ;  /* количество идентификаторов  */ unsigned  i ;  /* параметр цикла  */ char t_id[MAXDL];  /* текущий идентификатор  */ printf ("\nВведите число идентификаторов\n n="); scanf ("%u",&n); getchar();  /* пропуск символа "перевод строки" */ p=NULL;  /* список пока пуст */
printf (&quot;Введите идентификаторы &quot;); printf (&quot;(после каждого нажимайте клавишу  <Enter> )\n&quot;); for ( i=1; i<=n; i++ ) {  gets (t_id); V kl  (&p,t_id);  /* включение ид-ра в список */ } P ech S p  (p);  /* печать списка */ printf (&quot;\n\nДля завершения нажмите любую  клавишу\n&quot;); getch(); }
Ad

Recommended

лабораторная работа №9
лабораторная работа №9
Zhanna Kazakova
C++ и базы данных
C++ и базы данных
mcroitor
Филипп Ковалев — Путь в npm
Филипп Ковалев — Путь в npm
Yandex
особенности программирования на с++
особенности программирования на с++
mcroitor
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
tfmailru
Подпрограммы
Подпрограммы
Colegiul de Industrie Usoara
Программирование Linux
Программирование Linux
Anthony Shoumikhin
Дракон в мешке: от LLVM к C++ и проблемам неопределенного поведения
Дракон в мешке: от LLVM к C++ и проблемам неопределенного поведения
Platonov Sergey
стандартная библиотека с++: введение
стандартная библиотека с++: введение
mcroitor
Cpp/cli types
Cpp/cli types
mcroitor
5.1 Перегрузка операторов
5.1 Перегрузка операторов
DEVTYPE
алгоритмы stl
алгоритмы stl
mcroitor
Владислав Шаклеин. Смешивание управляемого и неуправляемого C++ кода в Micros...
Владислав Шаклеин. Смешивание управляемого и неуправляемого C++ кода в Micros...
Platonov Sergey
Cpp/cli particularities
Cpp/cli particularities
mcroitor
Programming c++ (begin-if-else)
Programming c++ (begin-if-else)
Moscow Aviation Institute (National Research University), MAI
3.3 Конструкторы и деструкторы
3.3 Конструкторы и деструкторы
DEVTYPE
Аскетичная разработка браузера
Аскетичная разработка браузера
Platonov Sergey
Недостатки Linux API с точки зрения разработчика веб-сервера.
Недостатки Linux API с точки зрения разработчика веб-сервера.
Alexandr Nox
Ecma script 6 yevhen diachenko
Ecma script 6 yevhen diachenko
Denis Khabrenko
Функциональное программирование и Clojure
Функциональное программирование и Clojure
AnjLab
контейнеры STL
контейнеры STL
mcroitor
Догнать и перегнать boost::lexical_cast
Догнать и перегнать boost::lexical_cast
Roman Orlov
2.2 Стек вызовов
2.2 Стек вызовов
DEVTYPE
Lecture 8
Lecture 8
Anastasia Snegina
Lecture 5
Lecture 5
Anastasia Snegina
3.1 Структуры
3.1 Структуры
DEVTYPE
По колено в Си++ г... коде
По колено в Си++ г... коде
Tatyanazaxarova
Фитнес для вашего кода: как держать его в форме
Фитнес для вашего кода: как держать его в форме
Ilia Shishkov
задачи для самостоятельного решения
задачи для самостоятельного решения
Zhanna Kazakova
лаб раб 6
лаб раб 6
Zhanna Kazakova

More Related Content

What's hot (20)

стандартная библиотека с++: введение
стандартная библиотека с++: введение
mcroitor
Cpp/cli types
Cpp/cli types
mcroitor
5.1 Перегрузка операторов
5.1 Перегрузка операторов
DEVTYPE
алгоритмы stl
алгоритмы stl
mcroitor
Владислав Шаклеин. Смешивание управляемого и неуправляемого C++ кода в Micros...
Владислав Шаклеин. Смешивание управляемого и неуправляемого C++ кода в Micros...
Platonov Sergey
Cpp/cli particularities
Cpp/cli particularities
mcroitor
Programming c++ (begin-if-else)
Programming c++ (begin-if-else)
Moscow Aviation Institute (National Research University), MAI
3.3 Конструкторы и деструкторы
3.3 Конструкторы и деструкторы
DEVTYPE
Аскетичная разработка браузера
Аскетичная разработка браузера
Platonov Sergey
Недостатки Linux API с точки зрения разработчика веб-сервера.
Недостатки Linux API с точки зрения разработчика веб-сервера.
Alexandr Nox
Ecma script 6 yevhen diachenko
Ecma script 6 yevhen diachenko
Denis Khabrenko
Функциональное программирование и Clojure
Функциональное программирование и Clojure
AnjLab
контейнеры STL
контейнеры STL
mcroitor
Догнать и перегнать boost::lexical_cast
Догнать и перегнать boost::lexical_cast
Roman Orlov
2.2 Стек вызовов
2.2 Стек вызовов
DEVTYPE
Lecture 8
Lecture 8
Anastasia Snegina
Lecture 5
Lecture 5
Anastasia Snegina
3.1 Структуры
3.1 Структуры
DEVTYPE
По колено в Си++ г... коде
По колено в Си++ г... коде
Tatyanazaxarova
Фитнес для вашего кода: как держать его в форме
Фитнес для вашего кода: как держать его в форме
Ilia Shishkov
стандартная библиотека с++: введение
стандартная библиотека с++: введение
mcroitor
5.1 Перегрузка операторов
5.1 Перегрузка операторов
DEVTYPE
алгоритмы stl
алгоритмы stl
mcroitor
Владислав Шаклеин. Смешивание управляемого и неуправляемого C++ кода в Micros...
Владислав Шаклеин. Смешивание управляемого и неуправляемого C++ кода в Micros...
Platonov Sergey
Cpp/cli particularities
Cpp/cli particularities
mcroitor
3.3 Конструкторы и деструкторы
3.3 Конструкторы и деструкторы
DEVTYPE
Аскетичная разработка браузера
Аскетичная разработка браузера
Platonov Sergey
Недостатки Linux API с точки зрения разработчика веб-сервера.
Недостатки Linux API с точки зрения разработчика веб-сервера.
Alexandr Nox
Ecma script 6 yevhen diachenko
Ecma script 6 yevhen diachenko
Denis Khabrenko
Функциональное программирование и Clojure
Функциональное программирование и Clojure
AnjLab
контейнеры STL
контейнеры STL
mcroitor
Догнать и перегнать boost::lexical_cast
Догнать и перегнать boost::lexical_cast
Roman Orlov
2.2 Стек вызовов
2.2 Стек вызовов
DEVTYPE
3.1 Структуры
3.1 Структуры
DEVTYPE
По колено в Си++ г... коде
По колено в Си++ г... коде
Tatyanazaxarova
Фитнес для вашего кода: как держать его в форме
Фитнес для вашего кода: как держать его в форме
Ilia Shishkov

Viewers also liked (10)

задачи для самостоятельного решения
задачи для самостоятельного решения
Zhanna Kazakova
лаб раб 6
лаб раб 6
Zhanna Kazakova
5 sl sign
5 sl sign
Zhanna Kazakova
1 uprsign
1 uprsign
Zhanna Kazakova
лабораторная работа №1
лабораторная работа №1
Zhanna Kazakova
лекция 5
лекция 5
Zhanna Kazakova
лабораторная работа №2
лабораторная работа №2
Zhanna Kazakova
зад2 теория
зад2 теория
Zhanna Kazakova
лабораторная работа №9
лабораторная работа №9
Zhanna Kazakova
Ad

More from Zhanna Kazakova (20)

презентация диагностика
презентация диагностика
Zhanna Kazakova
лаб. работа №1
лаб. работа №1
Zhanna Kazakova
лекция 26
лекция 26
Zhanna Kazakova
лекция 25
лекция 25
Zhanna Kazakova
лекция 24
лекция 24
Zhanna Kazakova
лекция 23
лекция 23
Zhanna Kazakova
лекция 22
лекция 22
Zhanna Kazakova
лекция 22
лекция 22
Zhanna Kazakova
лекция 21
лекция 21
Zhanna Kazakova
лекция 20
лекция 20
Zhanna Kazakova
лекция 18
лекция 18
Zhanna Kazakova
лекция 19
лекция 19
Zhanna Kazakova
лекция 18
лекция 18
Zhanna Kazakova
лекция 17
лекция 17
Zhanna Kazakova
лекция 16
лекция 16
Zhanna Kazakova
лекция 15
лекция 15
Zhanna Kazakova
лекция 14
лекция 14
Zhanna Kazakova
лекция 13
лекция 13
Zhanna Kazakova
лекция 12
лекция 12
Zhanna Kazakova
лекция 11
лекция 11
Zhanna Kazakova
Ad

лабораторная работа №8

  • 1. Лабораторная работа №8 Организация списков с помощью указателей и структур
  • 2. Пример решения задачи Задача. Дана последовательность из n идентификаторов. Длина каждого идентификатора не более 8 символов. Напечатать идентификаторы в лексикографическом порядке. Пример теста: Исх.посл-ть: Результат: SIMV A X A1 A1 SIMV SL SL Z20 TEXT A X TEXT Z 20
  • 4. Программа : /* Директивы препроцессора */ . . . /* тип элемента списка */ struct EL _ SP { char id [MAXDL]; /* идентификатор */ struct EL _ SP *sled; /* ссылка на следующий эл - т */ }; /*------------------------------------------------------------- ------- -- ------------ ----*/ /* функция включения очередного идентификатора в список */ /*--------------------------------------------------------------------------------------*/ void Vkl ( struct EL_SP **p, char t_id [ ] ) { . . . }
  • 5. /*----------------------------------------------------------*/ /* функция печати списка */ /*----------------------------------------------------------*/ void PechSp ( struct EL_SP *p ) { . . . } /*----------------------------------------------------- -- ------*/ /* О С Н О В Н А Я П Р О Г Р А М М А */ /*------------------------------------------------ --- ----------*/ main() { struct EL _ SP *p; /* указатель начала списка */ unsigned n ; /* количество идентификаторов */ unsigned i ; /* параметр цикла */ char t_id[MAXDL]; /* текущий идентификатор */ printf (&quot;\nВведите число идентификаторов\n n=&quot;); scanf (&quot;%u&quot;,&n); getchar(); /* пропуск символа &quot;перевод строки&quot; */ p=NULL; /* список пока пуст */
  • 6. printf (&quot;Введите идентификаторы &quot;); printf (&quot;(после каждого нажимайте клавишу <Enter> )\n&quot;); for ( i=1; i<=n; i++ ) { gets (t_id); V kl (&p,t_id); /* включение ид-ра в список */ } P ech S p (p); /* печать списка */ printf (&quot;\n\nДля завершения нажмите любую клавишу\n&quot;); getch(); }