Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 26.12.2013
Сообщений: 11

Прочитать из файла T1 числа и сформировать на их основе связный список

09.01.2014, 14:08. Показов 946. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В текстовом файле T1 записано несколько чисел. Прочитать из файла T1 числа и сформировать на их основе связный список.
Проблема в формировании связного списка на основе этих чисел(да и вообще я не понимаю о нем ничего). Помогите с этим пунктом задания. Заранее спасибо.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main ()
{
int str[1000]; int i;
 
FILE *f1;
f1 = fopen("T1.txt","r");
 for(i=0;!feof(f1);i++)
 {
  fscanf (f1,"%d",&str[i]);
  cout<<str[i]<<" "; }
 
 
 
cout<<endl;
fclose (f1);
system("pause");
return 0; 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.01.2014, 14:08
Ответы с готовыми решениями:

Прочитать из файла T1 числа и сформировать на их основе связный список
Здравствуйте. Есть программа, но не понимаю, как она работает(что делает знаю). Объясните кому не сложно данный код(комментарии к строкам...

2-связный список на основе 2х стэков
Помогите создать 2-связный список на основе 2х стэков.

2-связный список на основе указателей next и pred
Помогите найти ошибку в нахождении минимального элемента:#include &quot;iostream&quot; #include &quot;conio.h&quot; #include &quot;stdlib.h&quot; ...

4
 Аватар для m1Rr0r
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
09.01.2014, 15:10
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
#include <iostream>
using namespace std;
 
struct node 
{
    int data;
    node * next;
};
// Добавление в список
node * list_add(node * list_tail, int value)
{
    node * p = new node;
 
    p->data = value;
    p->next = NULL;
 
    if(list_tail)
        list_tail->next = p;
 
    list_tail = p;
 
    return list_tail;
}
// Очистка списка
void list_clear(node * list_head)
{
    node * p = list_head;
    while(p)
    {
        list_head = list_head->next;
        delete p;
        p = list_head;
    }
}
// Печать списка
void list_print(node * list_head)
{
    node * p = list_head;
    while(p)
    {
        cout << p->data << endl;
        p = p->next;
    }
}
 
int main ()
{
    // Начало/конец списка
    node * head = NULL, * tail = NULL;
 
    int str[1000];
    int list_count = 0;
    FILE * f1 = fopen("T1.txt", "r");
 
    for(int i = 0; !feof(f1); i++)
    {
        // Считали число
        fscanf(f1, "%d", &str[i]);
        // Добавили в конец списка
        tail = list_add(tail, str[i]);
        list_count++;
        if(list_count == 1)
            head = tail;        
    }
    list_print(head);
 
 
    list_clear(head);
    fclose(f1);
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 26.12.2013
Сообщений: 11
09.01.2014, 19:16  [ТС]
Спасибо, но возникла ещё 1 проблема в задачи:
Допустим есть файл T2 в котором так же записаны числа. Для каждого числа из файла T2 нужно ответить, встречается ли оно в сформированном списке. Через if не получается(пишет error C2120: 'void' illegal with all types).

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
#include <iostream>
using namespace std;
 
struct node 
{
    int data;
    node * next;
};
// Добавление в список
node * list_add(node * list_tail, int value)
{
    node * p = new node;
 
    p->data = value;
    p->next = NULL;
 
    if(list_tail)
        list_tail->next = p;
 
    list_tail = p;
 
    return list_tail;
}
// Очистка списка
void list_clear(node * list_head)
{
    node * p = list_head;
    while(p)
    {
        list_head = list_head->next;
        delete p;
        p = list_head;
    }
}
// Печать списка
void list_print(node * list_head)
{
    node * p = list_head;
    while(p)
    {
        cout << p->data << endl;
        p = p->next;
    }
}
 
int main ()
{
    // Начало/конец списка
    node * head = NULL, * tail = NULL;
 
    int str[1000]; int str1[1000];
    int list_count = 0;
    FILE * f1 = fopen("T1.txt", "r");
    FILE * f2 = fopen("T2.txt", "r");
    cout<<"VIVOD IZ FAILA T1 : "<<endl; 
    for(int i = 0; !feof(f1); i++)
    {
        // Считали число
        fscanf(f1, "%d", &str[i]);
            cout<<str[i]<<" "
 
        // Добавили в конец списка
    
             ; 
        tail = list_add(tail, str[i]);
        list_count++;
        if(list_count == 1)
            head = tail;        
    }
    cout<<endl<<"SPISOK : "<<endl;
    list_print(head);
 
 
   //list_clear(head);
cout<<endl;
//----------------------------
 
 
cout<<"VIVOD IZ FAILA T2"<<endl;
 for(i = 0; !feof(f2); i++)
    {
        fscanf(f2, "%d", &str1[i]);
        cout<<str1[i]<<endl; }
 
    cout<<endl;
    fclose(f1);
    fclose(f2);
    system("pause");
    return 0;
}
0
 Аватар для newb_programmer
238 / 238 / 113
Регистрация: 03.09.2011
Сообщений: 558
09.01.2014, 19:48
silencerr, переделал под себя, все работает. если устроит пользуйтесь
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
#include <iostream>
using namespace std;
struct Element
{
   int data;
   Element * Next;
};
 
class List
{
   Element * Head;
   Element * Tail;
   int Count;
 
public:
   List();
   ~List();
   void Add(int);
   void Del();
   void DelAll();
   void Print();
   int Find(int);
};
 
List::List()
{
   Head = Tail = NULL;   
   Count = 0;
}
 
List::~List()
{
   DelAll();
}
 
void List::Add(int data)
{
   Element * temp = new Element;
 
   temp->data = data;
   temp->Next = NULL;
 
   if(Head!=NULL){
        Tail->Next=temp;
        Tail = temp;
   }
 
   else{
       Head=Tail=temp;
   }
}
 
void List::Del()
{
   Element * temp = Head;
   Head = Head->Next;
   delete temp;
}
 
void List::DelAll()
{
   while(Head != 0)
      Del();
}
 
void List::Print()
{
   Element * temp = Head;
   while(temp != 0)
   {
      cout << temp->data << " ";
      temp = temp->Next;
   }
   cout << "\n\n";
}
int List::Find(int n) {
    Element * temp = Head;
    while (temp!=0) 
    {
        if (temp->data==n)
            return 1;
        temp=temp->Next;
    }
    return 0;
}
 
int main(){
    int temp;
    List Num;
    FILE * f1 = fopen("D:\\T1.txt", "r");
    FILE * f2 = fopen("D:\\T2.txt", "r");
    cout<<"VIVOD IZ FAILA T1 : "<<endl; 
    for(int i = 0; !feof(f1); i++)
    {
        fscanf(f1, "%d", &temp);
        Num.Add(temp);
    }
    Num.Print();
    cout<<"VIVOD IZ FAILA T2"<<endl;
     for(int i = 0; !feof(f2); i++)
    {
        fscanf(f2, "%d", &temp);
        if (Num.Find(temp))
            cout<<"Number "<<temp<<" is in file T1!\n";
        else
            cout<<"Number "<<temp<<" is NOT in file T1!\n";
    }
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 26.12.2013
Сообщений: 11
09.01.2014, 20:02  [ТС]
Да, спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.01.2014, 20:02
Помогаю со студенческими работами здесь

Связный список (Используя структуру описания даты, построить связный список студентов, сформированный в алфавитном порядке)
Здраствуйте! Помогите пожалуйста найти косяк. Выводится только первая строчка из списка студентов. Вот такая задачка : Программа...

Связный список. Необходимо создать новый связный список только из положительных элементов
Задача: Прочитать из файла связный список. Потом из этого списка создать еще один, в котором будут только положительные значения из...

Сформировать связный список (стек), содержащий последовательность целых чисел
Сформировать связный список (стек), содержащий последовательность целых чисел, вводимых из файла. Удалить из списка все нули. Язык С. ...

Прочитать числа второго файла и вставить их на правильные места в созданный список
Здравствуйте уважаемые программисты. Решил следующую задачу: В один файл заносятся упорядоченная последовательность целых чисел. В другом...

На основе исходного файла, содержащего целые числа, сформировать новый файл, удалив повторы
Удалить повторения. Дан файл, компоненты которого являются целыми числами. Получить новый файл, образованный из первого исключением...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru