• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

Программа Для Работы С Двусвязным Нециклическим Списком. Инверсия Спис

  • Автор темы Автор темы siner
  • Дата начала Дата начала
S

siner

Есть программа для работы с двухсвязным списком. Есть проблемы с функцией инверсии списка. Visual C++ выдает следующую ошибку:
c:\documents and settings\1\мои документы\visual studio 2010\projects\11\11\11.cpp(175): error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" (или приемлемое преобразование отсутствует)
Подскажите, пожалуйста, как это исправить.

Код:
#include <iostream>
#include <windows.h>
using namespace std;

class Node
{
public:
int number;
Node* next;
Node* last;
};

void russia(const char*);

void main()
{
short action = -1;
Node* head = NULL;
Node* tail = NULL;
Node* ptrLast = NULL;

while (1)
{	  
russia("1. Добавить Элемент\n");
russia("2. Просмотр Списка\n");
russia("3. Инверсия списка\n");
russia("0. Выход\n\n");
russia("Ваш Выбор: ");
cin>>action;

if (action == 0)
{
system("CLS");
break;
}

if (action == 1)
{
system("CLS");
int numb = -1;
russia("Введите Число: ");
cin>>numb;
Node* ptr = new Node;
ptr->number = numb;
ptr->next = NULL;
tail = ptr;
if (head == NULL)
{
head = ptr;
ptrLast = ptr;
ptr->last = NULL;
system("CLS");
continue;
}
ptr->last = ptrLast;
ptrLast->next = ptr;
ptrLast = ptr;
system("CLS");
continue;
}

if (action == 2)
{
system("CLS");
Node* ptr = NULL;
if (head == NULL)
{
russia("\t!!! СПИСОК ПУСТ !!!\n\n");
system("PAUSE");
system("CLS");
continue;
}
russia("* * * * * СПИСОК: СЛЕВА НАПРАВО * * * * *\n\n");
ptr = head;
while (1)
{
cout<<ptr->number<<" ";
if (ptr->next == 0)
break;
ptr = ptr->next;
}
cout<<"\n\n";
system("PAUSE");
system("CLS");
continue;
}

if (action == 3)
{
system("CLS");
Node* ptr = NULL;

if (head == NULL)
{
cin >> ptr;

int len = strlen(ptr);
for (int i=0; i<(len-1)/2; i++)
{
char c = ptr[i];
ptr[i] = ptr[len-1-i];
ptr[len-1-i] = c;
}

cout << "Perevernutue simvolu:\n" << ptr << endl;
cin >> ptr;
return 0;
}
system("PAUSE");
system("CLS");
continue;
}

if (action > 3)
{
system("CLS");
russia("\t!!! НЕВЕРНЫЙ ВЫБОР. ПОВТОРИТЕ ВВОД !!!\n\n");
system("PAUSE");
system("CLS");
continue;
}
}
}

void russia(const char* rus)
{
char word[100];
CharToOemA(rus, word);
cout<<word;
}
 
код обрезался.

Скинь на pastebin:
например (на форуме уже второй {третий?} год не работает подсветка кода)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD