Форум программистов, компьютерный форум CyberForum.ru

Поиск и удаление максимального значения в односвязном списке С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ FindFirstFileW. Как подставить значение переменной типа string в функцию? http://www.cyberforum.ru/cpp-beginners/thread1095413.html
Здравствуйте, форумчане! Будьте добры и помогите понять один нюанс. Например есть у меня такие строки: //******************************************* string folderpath; cin >> folderpath; WIN32_FIND_DATAW wfd; HANDLE const hFind = FindFirstFileW(L"C:\\*", &wfd); //*******************************************
C++ Ошибка заполнения вектора строк в классе Никак не могу разобраться. Пробовал по-разному и всегда выскакивали ошибки Вот есть класс resourse class resourse { private: int definitions; // = 5; int unions;// = 21; int prepositions;// = 28; int closures;// = 18; int particles;// = 32; http://www.cyberforum.ru/cpp-beginners/thread1095408.html
Создать абстрактный базовый класс уравнение с виртуальной функцией - корни уравнения C++
Создать абстрактный базовый класс уравнение с виртуальной функцией - корни уравнения. Создать производные классы линейное уравнение и квадратное уравнение, в которых данная функция переопределена.
Степень отрицательной экспоненты C++
Нужно возвести отрицательную экспоненту в степень a=(-e)(i+j)/35, i>=0, j>=0. При попытке организовать через pow выдаёт ошибку pow: DOMAIN error a=pow(-2.7183,double(i+j)/35.0); Помогите разобраться, пожалуйста.
C++ Опишите пожалуйста построчную работу кода http://www.cyberforum.ru/cpp-beginners/thread1095397.html
Опишите пожалуйста построчную работу кода #include <stdio.h> #include <conio.h> const int alph_length = 26; int main() { int i;
C++ Определить, является ли матрица символов симметричной Заданный массив строк произвольной длины. Определить, является ли матрица символов, построенных из строк, симметричной. подробнее

Показать сообщение отдельно
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 134

Поиск и удаление максимального значения в односвязном списке С++ - C++

12.02.2014, 21:58. Просмотров 371. Ответов 0
Метки (Все метки)

Помогите пожалуйста,никак не могу понять что не так с кодом,почему не ищет максимальный элемент и не удаляет его.
Задание:Сформировать односвязный линейный список по файлу чисел. Удалить из списка узлы с максимальным значением информационного поля.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
 
struct list
{
    int x;  //информационное поле, данные, любой порядковый тип
    list *next;     //указатель на следующий элемент
};
typedef list *Plist;    //ссылка на структуру
 
void CreateFile(fstream&fout, char namefile[15])
{
    int x;
    fout.open(namefile, ios::out|ios::binary);  //двоичный файл
    cout<<"\n Введите x,для окончания ввода введите 1111:";
    cin>>x;
    while (x!=1111)
    {   
        fout.write((char *) &x, sizeof x);
        cin>>x;
    }
    fout.close();
    cout<<"\n";
}
 
void ReadFile(fstream&fin, char namefile[15])
{
    int x;
    fin.open(namefile, ios::in|ios::binary);    //двоичный файл
    if (fin.is_open())
    {
        cout<<"Содержимое файла "<<namefile<<" :\n";
        while (fin.read((char *) &x, sizeof x))
        {
            cout<<x<<" ";
        }
    }
    fin.close();
    cout<<"\n";
}
void Delete_after_q (Plist &q, int &number)
{
    Plist p;
    p = q-> next;
    q -> next = p -> next;  //наведение связей
    number = p -> x;    //сохранение данных
    delete p;       //освобождение памяти
}
 
void Search_max(Plist&first)
{
    Plist p=first;
    int max=-10000;
    while(p!=nullptr)
    {
    if(p->x>max)
    max=p->x;
    p=p->next;
    }
}
 
 
void main()
{
    setlocale (LC_ALL, "Russian");
    fstream fout, fin;
    Plist first;
    int a, max;
    char namefile[15],ch;
    cout<<"\n Введите имя файла:";
    cin>>namefile;
    cout<<"\n Создать новый файл? (y/n)";
    cin>>ch;
    if (ch=='y') 
    {
        CreateFile(fout, namefile);
        ReadFile(fin, namefile);
    } 
    else
    {
        ReadFile(fin, namefile);
    };
    fin.open(namefile, ios::in | ios::binary);
    if (! fin.is_open())
    {
        cout<<"\n Ошибка открытия файла"; exit(1);
    }
    Search_max(first);
    fin.close();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru