Форум программистов, компьютерный форум, киберфорум
Наши страницы

Нужны советы по задачам - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ класс-контейнер http://www.cyberforum.ru/cpp-beginners/thread820625.html
Класс МАГАЗИН содержит массив объектов класса ТОВАРЫ. класс ТОВАРЫ содержит название товара, свидетельство качества, стоимость. класс ПОКУПАТЕЛЬ содержит перечень нужных товаров. Определить...
C++ Свинячья латынь( работа с С-строками ) Задание такое: вводится строка и нудно ее перевести в такую латынь. Алгоритм такой: первую букву поставить в конец слова и добавить к концу слова "ау". Получается из слова "the" - "hetay", "computer"... http://www.cyberforum.ru/cpp-beginners/thread820621.html
Как захватить звук с микрофона? C++
Собственно интересует тема топика. Наверное делается это так: создаётся какой - то буфер и начинается запись в него до тех пор, пока он не запольнится, далее буфер копируется куда надо, обнуляется и...
C++ Чтение из файла и занесение в массив
Народ помогите пожалуйста! Есть текстовый файл, в него записаны числа 0.1 0.2 0.3(каждое на новой строке). Нужно открыть файл посчитать количество элементов и занести их в массив, а затем заново...
C++ Система диф. уравнений http://www.cyberforum.ru/cpp-beginners/thread820601.html
Решить систему дифференциальных уравнений {y'= y+z+x ниже z'=-4y-3z+2x ,при y(0)=1, Z(0)=0 с заданным шагом h на отрезке , введенных с клавиатуры.
C++ Определить номер столбца матрицы с минимальным количеством отрицательных элементов Помогите написать программу на С++. Задана числовая матрица А определить номер столбца матрицы с минимальным количеством отрицательных элементов и прибавить значения этого столбца к соответствующим... подробнее

Показать сообщение отдельно
Рейвол
2 / 2 / 0
Регистрация: 06.10.2012
Сообщений: 44

Нужны советы по задачам - C++

27.03.2013, 22:53. Просмотров 391. Ответов 3
Метки (Все метки)

У меня при написании программ возникли проблемы.
1)в программе где я работаю со списками:
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
#include <conio.h>
#include <stdio.h>
#include <iostream>
using namespace std;
 
struct STack
{
    int *number;
};
 
void Print(const STack* st)
{
    cout <<"\n<"<<st->number<<">";
    for(int i=0; i<st->number; i++)
        cout<<st->number[i]<<"\t";
    
}
 
void Input(STack* const st)
{
    cout <<"\nSay number:";
    cin >>st->number;
    for(int i=0; i<st->number; i++) 
        cin>>st->number[i];
 
}
 
struct STnum
{STack *data; // данные числа
STnum *prev; // указатель на предыдущий элемент
STnum *next; // указатель на последний элемент списка
STnum();
};
 
STnum::STnum()
{data = NULL;
prev = next = NULL;
}
 
 
struct Tlist
{
    STnum *head; // указатель на начало списка
    STnum *tail; // указатель на конец списка
 
    Tlist();
    void AddToHead(STack*); // добавить число в начало списка
    void DelFirst ();
    void Clear();
    void PrintN();
};
 
    Tlist::Tlist()
    {
        head=tail = NULL;
    }
 
    void Tlist::AddToHead(STack* st)
    {
        STnum *p = new STnum;
        p->data = st;
        if(!head)
        {
            head=tail=p;
        }
        else
        {
            p->prev = head;
            p->next = head->next;
            head = tail = p;
        }
    }
    void Tlist::DelFirst()
    {
        if(head)
        {
            if(head==tail)
            {
                delete head;
                head=tail=NULL;
            
            }
            else
            {   STnum *p = head;
                head = head->next;
                delete p->data;
                delete p;
            }
        }
    }
 
    void Tlist::Clear()
    {
        STnum *p = head;
        while(p!=NULL)
        {
            DelFirst();
            p=p->next;
        }
    }
 
    void Tlist::PrintN()
    {
        STnum *p = head;
        while(p!=NULL)
        {
            Print(p->data);
            p=p->next;
        }
    }
 
    int Menu()
    {   system("clr");
        cout<<"\n Menu\n";
        cout<<"1. New number\n";
        cout<<"2. Delete first number\n";
        cout<<"3. Delete all numbers\n";
        cout<<"4. Show numbers\n";
        cout<<"0. close menu\n";
        cout<<"choose function of menu =>";
        int punkt;
        do
        cin>>punkt;
        while(punkt <0 || punkt >4);
        return punkt;
    }
 
    int main()
    {
        
        Tlist group;
        
 
        int subPunkt;
        do{
            subPunkt = Menu();
            switch(subPunkt)
            {
case 1:{
                cout<<"\nNew number";
                STack *st = new STack;
                Input(st);
                group.AddToHead(st);
      }
       break;
case 2: group.DelFirst(); 
    break;
case 3: group.Clear();
    break;
case 4: 
    {
        cout<<"\n Show Num\n";
        if(!group.head)
            cout<<"\n you have no Num!\n";
        else
            group.PrintN();
    }
    break;
            };
            getch();
        }
        while(subPunkt!= 0);
        group.Clear();
    }
я абсолютно не знаю, как написать ф-ю считывания списка с файла(блокнота). Здесь мне нужна помощь конкретно с написанием самой ф-и, так как с работой с файлами, я вообще не бум-бум.

2) в этой же программе возникла такая проблема, что при выполнении заполнения списка, я могу ввести 1 элемент, после чего посмотреть, что он присутствует в списке через ф-ю показа списка. Но вводя второй элемент, он показывает только последний элемент списка, не показывая первый. Как можно с этим справится?


3) Эта проблема с другой задачей, но тут мне нужен лишь совет. Как в одномерном массиве, поставить после максимального элемента, все минимальные? я так понимаю, что нужно найти индексы максимального и минимального элемента, но что делать с ними дальше, я не знаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru