powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Динамический связный список
7 сообщений из 7, страница 1 из 1
Динамический связный список
    #38624738
Anoonim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я хочу разобраться и сделать это задание, и мне нужна помощь!
Задача заключается в следующем:

ЗАДАНИЕДан файл с числами вида:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
0
1 2
3 4 5 6
7 8 9 10 11
15 16 17 18 1
31 32 33 34 35 36 37 45 
57 58 59 60 62 63 64 65 66 

Создать вектор из одного объекта (соответствующий связный список формируется динамически), данные для которого берутся из этого файла.

Вот, что у меня получилось:
Код: plaintext
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.
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <fstream>
#include <string>
using namespace std;
const int len = 100;
struct Values
{
	int nums[len];
};

int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL, "");

	char arr[len];			//промежуточный массив чаров
	Values val;				//объект типа структуры
	const char *data = "C:\\Users\\User\\Desktop\\datafile1.txt";

	fstream file(data);

	vector <Values> vect;
	vect.clear();

	while (file.getline(arr, len, '\n'))
	{
		for (int i = 0; i < len; i++)
		    val.nums[i] = arr[i] - '0';
		vect.push_back(val);      //добавляем объект в вектор
	}
	file.close();
	for (int i = 0; i < vect.size(); i++)
		cout << vect.at(i).nums << '\n';
	system("pause");
	return 0;
}


Программа компилируется. Но на экран выводятся адреса и то не всех чисел.

P.S. Замучился уже
...
Рейтинг: 0 / 0
Динамический связный список
    #38624914
smald
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
int main()
{
 
vector<int> vec;

 int res;

 fstream fs("text");

 if(!fs.good()){ exit(-1); };
  
  while(!fs.eof()){

 fs>>res;

 if( fs.fail() ) break;

 vec.push_back(res);

 };

 fs.close();
...
Рейтинг: 0 / 0
Динамический связный список
    #38624945
Anoonim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как записать эти числа в наш вектор. Как понять - "соответствующий связный список формируется динамически"??
...
Рейтинг: 0 / 0
Динамический связный список
    #38624952
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anoonim,

Код: plaintext
Создать вектор из одного объекта (соответствующий связный список формируется динамически), данные для которого берутся из этого файла.


Я так понимаю (возможно, неверно), что надо сформировать вектор списков чисел,
в векторе столько списков, сколько строк в исходном файле, а в каждом списке столько чисел, сколько в каждой строке исходного файла.

Т.е. каждая строка файла должна быть элементом вектора -- списком чисел.
А числа из каждой строки идут в один список.
...
Рейтинг: 0 / 0
Динамический связный список
    #38624975
smald
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnoonimКак записать эти числа в наш вектор. Как понять - "соответствующий связный список формируется динамически"??


авторСоздать вектор из одного объекта


std::vector
автор (соответствующий связный список формируется динамически), данные для которого берутся из этого файла.


Последовательно читаем файл и в процессе этого формируем вектор.

И вообще, задачку не иначе как транслайтом перевели с енглиша.
И за что им в ВУЗе за обучение платить?

Но для чистоты совести можно и такой вариант отдать.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
using namespace std;
typedef list<int> lst;
int main(){
 
 int res;

 vector<lst> vec(1, lst());
 
 fstream fs("text");

 if(!fs.good()){ exit(-1); };
 
while(!fs.eof()){

 fs>>res;

if(fs.fail()) break;

vec[0].push_back(res);

 };

fs.close();
 
...
Рейтинг: 0 / 0
Динамический связный список
    #38625153
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smald
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 
while(!fs.eof()){

 fs>>res;

if(fs.fail()) break;

vec[0].push_back(res);

 };

 


Ох, любите же вы одни и те же циклы по сто раз писать:
Код: plaintext
1.
copy(istream_iterator<int>(fs), istream_iterator<int>(), back_inserter(vec[0]));
...
Рейтинг: 0 / 0
Динамический связный список
    #38625200
smald
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MozokОх, любите же вы одни и те же циклы по сто раз писать:


Вот попадёте в ядро, посмотрим как там без автоматического
инструмента выживать будете.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Динамический связный список
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]