Презентация на тему: Основы программирования Лабораторная работа №13

Реклама. Продолжение ниже
Основы программирования Лабораторная работа №13
Задача 1 – Связанный, но не динамический! (код нужно копировать из презентации!)
Задача 1 – Связанный, но не динамический! (2)
Задача 2 – Связанный, и динамический!
Задача 2 – Связанный, и динамический! (2)
Задача 3 – Ищем по значению и очищаем!
Задача 3 – Ищем по значению и очищаем! (2)
Задача 4 – Подсчитать сумму всех элементов (код надо набирать руками!)
Задача 5 – Подсчитать количество четных элементов ( код надо придумать! )
Задача 6 – Все нечетные увеличить в 10 раз
Задача 7 – i - ый элемент увеличить в 100 раз
Задача 8 – все элементы левее i - го увеличить в 10 раз
Задача 9 – все элементы правее i - го увеличить в 10 раз
Задача 10 * – удалить i - ый элемент
Задачи 1 1+ ***
Домашнее задание
1/16
Средняя оценка: 4.3/5 (всего оценок: 58)
Код скопирован в буфер обмена
Скачать (793 Кб)
Реклама. Продолжение ниже
1

Первый слайд презентации: Основы программирования Лабораторная работа №13

Связанный список Власенко О.Ф.

Изображение слайда
1/1
2

Слайд 2: Задача 1 – Связанный, но не динамический! (код нужно копировать из презентации!)

#define _CRT_SECURE_NO_WARNINGS #include < stdio.h > #include < stdlib.h > struct Node { int data; struct Node * next; }; struct Node * first = NULL; void printList () { struct Node * ptr = first; while ( ptr != NULL) { printf ("(%d) -> ", ptr ->data); ptr = ptr ->next; } printf ("NULL\n"); }

Изображение слайда
1/1
3

Слайд 3: Задача 1 – Связанный, но не динамический! (2)

void main() { printList (); struct Node node1 = { 1, NULL }; struct Node node2 = { 2, NULL }; struct Node node3 = { 3, NULL }; printList (); first = &node1; printList (); node1.next = &node2; printList (); node2.next = &node3; printList (); { int x; scanf ("%d", &x); } }

Изображение слайда
Изображение для работы со слайдом
1/2
4

Слайд 4: Задача 2 – Связанный, и динамический!

void addToHead ( int value) { struct Node * newNode = ( struct Node*) malloc ( sizeof ( struct Node)); newNode - >next = first; newNode - >data = value; first = newNode ; } int deleteFromHead () { int value = first->data; struct Node * delNode = first; first = first->next; free( delNode ); return value; }

Изображение слайда
1/1
5

Слайд 5: Задача 2 – Связанный, и динамический! (2)

void main() { printList (); addToHead (10 ); printList (); addToHead (20 ); printList (); addToHead (30 ); printList (); int x1 = deleteFromHead (); printf ("x1 = %d\n", x1); printList (); int x2 = deleteFromHead (); printf ("x2 = %d\n", x2); printList (); { int x; scanf ("%d", &x); } }

Изображение слайда
Изображение для работы со слайдом
1/2
6

Слайд 6: Задача 3 – Ищем по значению и очищаем!

int contains( int value ) { struct Node * ptr = first; while ( ptr != NULL) { if ( ptr ->data == value) { return 1; } ptr = ptr ->next; } return 0; } void clearList () { while (first != NULL) { struct Node * delNode = first; first = first->next; free( delNode ); } }

Изображение слайда
1/1
7

Слайд 7: Задача 3 – Ищем по значению и очищаем! (2)

void main() { printList (); addToHead (400 ); addToHead (300 ); addToHead (200 ); addToHead (100 ); printList (); printf ("contains(100) = %d\n", contains(100)); printf ("contains(150) = %d\n", contains(150)); printf ("contains(200) = %d\n", contains(200)); clearList (); printList (); printf ("contains(100) = %d\n", contains(100)); printf ("contains(150) = %d\n", contains(150)); printf ("contains(200) = %d\n", contains(200)); { int x; scanf ("%d", &x); } }

Изображение слайда
Изображение для работы со слайдом
1/2
Реклама. Продолжение ниже
8

Слайд 8: Задача 4 – Подсчитать сумму всех элементов (код надо набирать руками!)

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
1/4
9

Слайд 9: Задача 5 – Подсчитать количество четных элементов ( код надо придумать! )

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
1/3
10

Слайд 10: Задача 6 – Все нечетные увеличить в 10 раз

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
1/3
11

Слайд 11: Задача 7 – i - ый элемент увеличить в 100 раз

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
1/4
12

Слайд 12: Задача 8 – все элементы левее i - го увеличить в 10 раз

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
1/3
13

Слайд 13: Задача 9 – все элементы правее i - го увеличить в 10 раз

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
1/3
14

Слайд 14: Задача 10 * – удалить i - ый элемент

Изображение слайда
Изображение для работы со слайдом
Изображение для работы со слайдом
Изображение для работы со слайдом
1/4
Реклама. Продолжение ниже
15

Слайд 15: Задачи 1 1+ ***

Во всех задачах нужно изменять поля NEXT, но нельзя трогать поля DATA!!! Вывести односвязанный список в обратную сторону (Рекурсивное решение будет очень элегантно!) Проверить есть ли в списке повторяющиеся элементы Поменять местами два соседних элемента Поменять местами элементы с индексами i и j Отсортировать список по возрастанию

Изображение слайда
Изображение для работы со слайдом
1/2
16

Последний слайд презентации: Основы программирования Лабораторная работа №13: Домашнее задание

Если какие-то из домашних работ не доделаны – доделывайте и сдавайте!

Изображение слайда
1/1
Реклама. Продолжение ниже