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

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

01.06.2014, 20:08. Просмотров 189. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Построить однонаправленный список из элементов файла (C++):

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

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

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

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

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

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

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

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

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

Линейный однонаправленный список. Описать процедуру добавления одного или нескольких элементов
Читая целые числа из текстового файла, создать линейный односвязный список....

Добавить в список элемент после элемента с заданным инф.полем [Однонаправленный список]
Вообщем есть: Функция создание списка Функции вывода на экран Функция...


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

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

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