Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
demigod324
4 / 2 / 2
Регистрация: 17.03.2013
Сообщений: 106
1

Построить однонаправленный список из элементов файла

01.06.2014, 20:08. Просмотров 197. Ответов 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
93
94
95
96
97
98
99
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <ComObj.hpp>
#pragma hdrstop
#include "Unit1.h"
 
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 
struct Spisok //Структура список
{
    int x;
    Spisok *next;
};
typedef Spisok *PSpisok;
PSpisok Beg, End, p;
 
TForm1 *Form1;
 
void add (PSpisok &O, int x) //Добавление нового элемента
{
    PSpisok NewSpisok;
    NewSpisok = new Spisok;
    NewSpisok -> x = x;
    NewSpisok -> next = NULL;
    if (End)
    End -> next = NewSpisok;
    End = NewSpisok;
    if (Beg == NULL)
    Beg = End;
}
 
void output(PSpisok Beg) //Вывод списка
{
    PSpisok q = Beg;
    int j = 0;
    while (q != NULL)
    {
        Form1 -> StringGrid2 -> Cells[j][0] = IntToStr(q -> x);
        q = q -> next;
        j++;
    }
};
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
//Кнопка для добавления элемента
{
    int x;
    int i;
    x = StrToInt(Edit1 -> Text);
    add(p, x);
    StringGrid1 -> Cells[i][0] = IntToStr(x);
    i++;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
//Кнопка для загрузки из файла
{
    Variant var_Excel, var_Sheet;
    int Row_Counter = 0, Column_Counter = 0, Max_Column = 2, Max_Row = 15;
    WideString st;
    if (!OpenDialog1->Execute()) return;
 
    Edit2 -> Text = OpenDialog1 -> FileName;
    st = Edit2 -> Text;
 
    var_Excel = CreateOleObject("Excel.Application");
    var_Excel.OlePropertyGet("Application").OlePropertyGet("Workbooks").OleProcedure("Open", st);
    var_Excel.OlePropertySet("Visible", false);
    var_Sheet = var_Excel.OlePropertyGet("ActiveSheet");
 
    for (Row_Counter; Row_Counter <= Max_Row; Row_Counter++)
    {
      for (Column_Counter; Column_Counter <= Max_Column; Column_Counter++)
          {
           StringGrid2->Cells[Column_Counter][Row_Counter] =
               var_Sheet.OlePropertyGet("Cells").OlePropertyGet("Item", Row_Counter + 1, Column_Counter + 1);
          }
          Column_Counter = 0;
    }
 
    var_Excel.OlePropertyGet("Application").OleProcedure("Quit");
    var_Sheet = Unassigned;
    var_Excel = Unassigned;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
//Кнопка для вывода списка
{
    output (Beg);
}
//---------------------------------------------------------------------------
Если составлять список сразу и выводить его на экран, то всё нормально. Но если загружать из файла, то отображаются только первые 3 элемента. Помогите исправить данную ошибку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2014, 20:08
Ответы с готовыми решениями:

Построить однонаправленный список из элементов файла
Помогите составить программу, которая строит однонаправленный список из элементов файла. Элементы...

Реализуйте однонаправленный список.Режим сортировки элементов списка без перестановки самих элементов
Реализуйте задание .В каждом из вариантов должно быть реализованы следующие режимы работы:...

Считать числа из файла в линейный однонаправленный список
С++ Дан файл с цифрами. Надо занести их в линейный однонаправленный список и после макс элемента...

Добавление элементов в однонаправленный список
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;locale&gt; using namespace std; struct...

Линейный односвязный (однонаправленный) список, запись и чтение из файла
нужна помощь в организации чтения и записи списка из файла, #include &lt;iostream&gt; #include &lt;string&gt;...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2014, 20:08

Линейный однонаправленный список. Удаление элементов
Создать линейный однонаправленный список. Удалить из него все символы 'p' перед символом 'a'....

Однонаправленный список из квадратов отрицательных элементов первого списка
Создать однонаправленный список действительных чисел, который может содержать как положительные так...

Однонаправленный список элементов (удвоить каждый элемент списка)
Сформировать однонаправленный список элементов типа char и написать программу следующих операций...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru