Создание линейного односвязного списка - C (СИ)

Узнай цену своей работы

Формулировка задачи:

-найти произведение элементов списка. -вывести на экран нечетные элементы списка.

Решение задачи: «Создание линейного односвязного списка»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
typedef struct _TNode
{
    int value;
    struct _TNode* next;
}   TNode;
 
//-----------------------------------------------------------------------------
TNode* Push(TNode** list, int value)
{
    TNode* node = malloc(sizeof(TNode));
    node->value = value;
    node->next = *list;
 
    *list = node;
 
    return *list;
}
//-----------------------------------------------------------------------------
int AllElements(int i)
{
    return 1;
}
//-----------------------------------------------------------------------------
int OnlyOddElements(int i)
{
    return i & 1;
}
//-----------------------------------------------------------------------------
void Print(const TNode* list, int (*Func)(int))
{
    int i = 0;
    for (; list; list = list->next)
    {
        if (Func(++i))
        {
            printf("%d ", list->value);
        }
    }
    printf("\n");
}
//-----------------------------------------------------------------------------
int GetMultiplication(const TNode* list)
{
    int result = 1;
 
    for (; list; list = list->next)
    {
        result *= list->value;
    }
 
    return result;
}
//-----------------------------------------------------------------------------
 
int main(int argc, char* argv[])
{
    TNode* list = NULL;
    int i = 10;
 
    srand(time(NULL));
 
    while (i--)
    {
        Push(&list, rand() % 10 + 1);
    }
 
    Print(list, AllElements);
 
    printf("multiplication = %d\n", GetMultiplication(list));
 
    Print(list, OnlyOddElements);
 
    return EXIT_SUCCESS;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы