Если приходит символ, то запустить блок создания массива в два столбика и n-ое колличество строк - C (СИ)
Формулировка задачи:
никто не может нормально объяснить
! Сколько уже всего пересмотрел не понимаю - уже начинается паника. Мне нужно следующее: - если приходит символ, то запустить блок создания массива в два столбика и n-ое колличество строк (пришёл 5-ый символ, значит нужно в массив добавть пятую строчку) (пришёл 6-ой символ, значит к тому массиву из 5ти строк, добавить шестую!) я пытаюсь уже (4ый день) реализовать эту фигню и не могу, и никто видимо не может! скоро повешусь к чертям... как я понял алгоритм должен быть такой:Решение задачи: «Если приходит символ, то запустить блок создания массива в два столбика и n-ое колличество строк»
#include <stdio.h> #include <stdlib.h> typedef struct MyNode { int index; char letter; struct MyNode *next; } Node; int main(void) { Node *head, *tail, *newptr; char c; head = tail = newptr = NULL; while(c = getchar()) { newptr = (Node*)malloc(sizeof(Node)); newptr->letter = c; newptr->index = 1; newptr->next = NULL; if (head) { tail->next = newptr; tail = tail->next; } else head = tail = newptr; } return 0; }
Объяснение кода листинга программы
В данном коде создается двумерный массив (коллекция) структур данных типа MyNode. Для этого используется динамическое выделение памяти с помощью функции malloc. Каждый элемент массива (структура MyNode) содержит в себе индекс, букву и указатель на следующий элемент. Пользователю предлагается ввести символы, которые будут добавлены в этот массив. При каждом введенном символе создается новый элемент массива и добавляется в конец списка. При этом индекс каждого нового элемента устанавливается равным 1. Когда пользователь вводит символ, создается новый элемент массива, который добавляется в конец списка. При этом указатель tail указывает на последний элемент списка, а указатель head указывает на первый элемент списка. Когда пользователь прекращает ввод символов, список считается полным. Для корректного завершения работы программы необходимо выполнить обязательные действия:
- Освободить память, выделенную под каждый элемент массива.
- Указатель head указывает на первый элемент массива, а указатель tail указывает на последний элемент массива.
- Пройти по всем элементам массива с помощью цикла и вывести на экран значения индекса и буквы каждого элемента.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д