Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2021, 17:49   #1
Artur221
Пользователь
 
Регистрация: 18.03.2021
Сообщений: 26
По умолчанию Обьясните пожалуйста что делает код

Обьясните пожалуйста что делает код, по строкам
Код:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <sstream>
#include <clocale>
#include <cmath>
#include <ctime>
#include <stdio.h>      
#include <stdlib.h>  
#include <algorithm>  
 
 
typedef struct Node* NodePtr;
 
 
struct Node
{
    int value;
    NodePtr next;
};
 
void Insert(NodePtr L, NodePtr E, NodePtr E1)
{
 
    NodePtr curr;
    NodePtr elem;
    int v, v1;
    v = E->value;
    v1 = E1->value;
    curr = L;
    while (curr)
    {
 
        if (curr->value == v)
        {
            elem = new Node();
            elem->value = v1;
            elem->next = curr->next;
            curr->next = elem;
        }
        curr = curr->next;
    }
 
}
int main(int argc, char** argv)
{
    setlocale(LC_CTYPE, "rus");
    //  srand(time(NULL));
    NodePtr head = NULL;
    int arr[20];
    NodePtr* ptr = &head;
    for (int n = 1; n <= 20; ++n)
    {
        arr[n - 1] = rand() % 4 + 1;
    }
    for (int n = 1; n <= 20; ++n)
    {
        *ptr = new Node;
        (*ptr)->value = arr[n - 1];
        ptr = &(*ptr)->next;
    }
    *ptr = NULL;
 
    std::cout << "Начальный список\n";
    NodePtr p = head;
    while (p)
    {
        std::cout << p->value << ' ';
        p = p->next;
    }
    std::cout << "\n";
 
 
 
 
    NodePtr ptr1 = new Node;
    int num, ask = -1;
    int n = 20;
    do
    {
        head = NULL;
 
        ptr = &head;
        for (int n = 1; n <= 20; ++n)
        {
            *ptr = new Node;
            (*ptr)->value = arr[n - 1];
            ptr = &(*ptr)->next;
        }
        *ptr = NULL;
        std::cout << "\nВведите элемент E: "; std::cin >> num;
        ptr1->value = num;
        NodePtr ptr2 = new Node;
        std::cout << "\nВведите элемент E1: "; std::cin >> ask;
        int* res = std::find(std::begin(arr), std::end(arr), num);
        if (res != std::end(arr))
        {
 
            ptr2->value = ask;
            p = head;
            Insert(p, ptr1, ptr2);
 
 
            p = head;
            std::cout << "\n";
            if (ask != 0)
            {
                while (p)
                {
                    std::cout << p->value << ' ';
                    p = p->next;
                }
                std::cout << "\n";
            }
            while (head)
            {
                NodePtr victim = head;
                head = head->next;
                delete victim;
            }
        }
 
        else
        {
            std::cout << "\nТакого числа нет";
        }
    }         while (ask != 0);
 
    system("PAUSE");
    return 0;
}
Artur221 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обьясните пожалуйста что делает код Artur221 Общие вопросы C/C++ 10 04.11.2021 16:33
Объясните, что делает этот код и напишите, пожалуйста, несколько комментариев narekkg Помощь студентам 0 12.06.2015 18:07
Обьясните пожалуста как и что делает эта программа и почему она это делает. Dimka-novitsek Общие вопросы C/C++ 7 16.10.2013 12:02
Обьясните, что делает это программа??? ~Леди~ Общие вопросы Delphi 2 05.04.2011 10:47
Подскажите пожалуйста что делает этот код SlashMan JavaScript, Ajax 3 10.01.2010 22:41