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

Алгоритм по типу экселевского vlookup. Посоветуйте, как скомпоновать 2 файлика

25.12.2012, 20:28. Просмотров 374. Ответов 2
Метки нет (Все метки)

Hi all.

Думаю, как лучше сделать следующее (понятно, что можно в Excel'е через vlookup, а как программно?)
в общем, есть колонка данных в одном файле:

101 : name1
102 : name2
103 : name3
104 : name4
105 : name5
106 : name6

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

106 : street6
102 : street2
104 : street4
101 : street1
105 : street5
103 : street6

Как проще всего совместить информацию из этих 2х файлов?
чтобы получить следующее:

101 name1 street1
102 name2 street2
103 name3 street3
104 name4 street4
105 name5 street5
106 name6 street6

Какой способ самый простой? Создать массив структур? Из серии:
C++
1
2
3
4
5
6
7
struct person {
string num;
string name;
string street;
};
 
person people[100];
И потом туда считывать построчно? Как-то корявенько...

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 20:28
Ответы с готовыми решениями:

Как данные из экселевского файла перенести в матрицу?
Есть код как вытащить данные из экселевского файла. А как их занести потом в...

Как можно осуществлять чтение-запись ячеек экселевского файла?
собственно subj. интересует вопрос, как это можно сделать в обход объекта...

Как можно одной задачей всему парку по определенному пути скопировать с заменой 2 файлика?
Как можно одной задачей всему парку по определенному пути скопировать с заменой...

Посоветуйте как реализовать алгоритм
Алгоритм шифрования: bres = (bsrc ROL (i mod M)), где bsrc – i-ый байт...

Посоветуйте, как правильно составить алгоритм
Всем привет! Нужна помощь в составлении алгоритма определения типа соединения...

2
Avazart
Эксперт С++
7696 / 5605 / 543
Регистрация: 10.12.2010
Сообщений: 25,156
Записей в блоге: 17
26.12.2012, 13:04 #2
Можно через map если id уникален

C++
1
std::map<size_t,std::pair<std::string,std::string> >  people;
0
Excogit8er
2 / 2 / 1
Регистрация: 23.10.2012
Сообщений: 66
Завершенные тесты: 3
26.12.2012, 15:26  [ТС] #3
Цитата Сообщение от Avazart Посмотреть сообщение
Можно через map если id уникален

C++
1
std::map<size_t,std::pair<std::string,std::string> >  people;
Почитал про std::map, круто, но интересен алгоритм - а как это работает? Предположим, есть несколько текстовых файлов, связанных ключевым полем (ну, тот же айдишник). Создается структура для всех нужных полей с несколькими элементами string, считывается 1й файл, парсится первая строка из первого файла, заполняется, скажем, string1, string2 и string3 (допустим, это айдишник, имя и номер телефона). Далее нужно заполнить поле "адрес" в первой структуре, адрес - уже во втором файле. Для этого парсится 1 строка 2го файла, извлекается айдишник (он во всех файлах один и тот же), сравнивается, считывается следующая строка, извлекается айдишник, опять сравнивается и когда ID совпадет - из этой же строки извлекается адрес. Затем из 3го файла из каждой строки извлекается айдишник, сравнивается с тем, который в структуре, и если совпадает - считываем следующее искомое поле (ну, не знаю, любимый сорт сыра). В итоге получается что методом перебора заполнили 1 структуру, вывели полученную строку из всех строк в консоль (ну допустим). Затем эту же структуру заполняем следующими значениями и так далее?

Интересно, насколько долгими будут такие вычисления, если размер каждого файла, скажем, 10 000 строк...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 15:26

Есть ли в VBA оператор, который работает как VLOOKUP ну или Index и Match?
Всем здрасти! Простенький вопросик, есть ли в VBA оператор, который работает...

Как скомпоновать данные
Есть простая таблица: Изделие (текст) Упаковано (бит) Как сделать...

Как скомпоновать модуль с кодом C++ с Си?
Такое дело: имеется один модуль на C++, там чисто внутри используется STL,...


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

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

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