Нет, скинуть код и описать проблему, чтобы помогли разобраться, что делаете не так
#include <iostream> using namespace std; struct list { // структура списка int data; /*переменная, хранящая значение элемента*/ list *next; /*ссылку на следующий элемент*/ }; void func(list *&begin, int num) { if (begin == NULL) { // если список пуст, то мы создаём элемент в заголовке begin = new list(); begin->data = num; begin->next = NULL; } else { if (num <= begin->data) { list * new_elem = new list(); new_elem->data = num; new_elem->next = begin; begin = new_elem; } else { list *ptr = begin; while (ptr->next && num >= ptr->next->data ) { // сравниваем ptr = ptr->next; } list * next = ptr->next; list * new_elem = new list(); new_elem->data = num; ptr->next = new_elem; new_elem->next = next; } } } void list_print(list *begin) { if (begin == NULL) { cout << "Ошибка! Список пустой!" << endl; exit(1); } list *n = begin; while (n) { cout << n->data << " -> "; n = n->next; } cout << "NULL" << endl; } int main() { setlocale(LC_ALL, "russian"); list *begin = NULL; int size; cout << "Введите размер списка: "; cin >> size; for (int i = 0; i < size; i++) { cout << "Введите элемент: "; int num; cin >> num; func(begin, num); } list_print(begin); return 0; }
Так не было же кода
всмысле?
Добавь это #if defined(_WIN32) || defined(_WIN64) #pragma execution_character_set("utf-8") #include<windows.h> const auto _dummy_ = []() { SetConsoleCP(65001); SetConsoleOutputCP(65001); return 0; }(); #endif после всех инклюдов
кстати это чудно обломится на старых виндах.
это сниппет для страдающих студентов
Обсуждают сегодня