Как занести кольцевой список у стек?

С введенных слов сформировать кольцевой односвязный список. затем создать новый список, организованный как стек, в который переписать все слова, состоят из тех же букв, что и первое введенное слово. Напечатать скоро ный базовый список и вновь список или вывести сообщение о отсутствие искомых слов. Использовать функцию, которая проверяет, два заданные символьные строки состоят из одинаковых символов

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct inf {
    char mes[50];
    struct inf* next;
}INF;

INF* init() {
    INF* lst;
    lst = (INF*)malloc(sizeof(INF));
    gets_s(lst->mes);
    lst->next = lst;
    return lst;
}
INF* addelem(INF* lst) {
    INF* temp, * p;
    temp = (INF*)malloc(sizeof(INF));
    p = lst->next;
    lst->next = temp;
    gets_s(temp->mes);
    temp->next = p;
    return temp;
}
void listprint(INF* lst)
{
    INF* p;
    p = lst;
    do {
        printf("%s ", p->mes);
        p = p->next;
    } while (p !=lst);
}
void FreeList(INF* lst)
{
    INF* pel = lst;
    while (pel != lst) {
        lst = lst->next; // першим в списку стає наступний елемент
        free(pel); // видалення поточного елемента
        pel = lst;
    }
}
int main() {
    INF* p;
    p = init();
    for (int i = 0; i < 3; i++)
    {
        addelem(p);
    }
    listprint(p);
    FreeList(p);

}

У меня есть кольцевой список и функция которая сравнивает символы, как мне это все совместить и занести в стек?

void m() {
    system("chcp 1251");
    char m[] = "ertyu", * p;
    char n[] = "wsfrgetyr", * p1;
    p = m;
    p1 = n;
    int c=0;
    int t = strlen(m);
    char *y;
    for (; *p != '\0'; p++) {
        for (; *p1!= '\0'; p1++)
        {
            if (*p == *p1) {
                c++;
            }
        }
        p1 = n;
    }
    if (c == t) {
        puts(p1);
    }
}

Ответы (0 шт):