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

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

26.05.2014, 10:58. Просмотров 350. Ответов 3
Метки нет (Все метки)

Помогите составить программу, которая строит однонаправленный список из элементов файла. Элементы списка вывести на экран.
http://www.cyberforum.ru/cpp-beginners/thread1746942.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2014, 10:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Построить однонаправленный список из элементов файла (C++):

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

Добавление элементов в однонаправленный список
#include "stdafx.h" #include <iostream> #include <locale> using namespace...

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

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

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

3
1Вирт1
152 / 181 / 43
Регистрация: 25.08.2011
Сообщений: 742
Завершенные тесты: 5
26.05.2014, 11:10 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <fstream>
#include <list>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
  list<int> l;
  ifstream file;
  file.open("list.txt", ios::app);
  copy(istream_iterator<int>(file), istream_iterator<int>(), back_inserter(l));
  copy(l.begin(), l.end(), ostream_iterator<int>(cout, " "));
  cout << endl;
  return 0;
}
0
demigod324
4 / 2 / 2
Регистрация: 17.03.2013
Сообщений: 106
26.05.2014, 11:18  [ТС] #3
1Вирт1, А можно с использованием структуры?
0
demigod324
4 / 2 / 2
Регистрация: 17.03.2013
Сообщений: 106
26.05.2014, 12:30  [ТС] #4
1Вирт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
//---------------------------------------------------------------------------
#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 vuvod(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::Button3Click(TObject *Sender)
{
    vuvod (Beg);
}
//---------------------------------------------------------------------------
Добавлено через 34 минуты
Переделал вот так:
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
//---------------------------------------------------------------------------
 
#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;
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
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;
}
//---------------------------------------------------------------------------
Но почему то выводит только первые 3 элемента. Подскажите в чем ошибка?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2014, 12:30
Привет! Вот еще темы с решениями:

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

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

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

Однонаправленный список
Задача:Создать линейный однонаправленный список из целых чисел.Вставить в...


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

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

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