Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lirael123
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 5
#1

Чтение из csv файла в двумерный массив географических координат с нестандартными символами - C++

22.11.2014, 23:01. Просмотров 593. Ответов 4
Метки нет (Все метки)

Добрый вечер! После Hello Word это моя первая прога на с++, поэтому очень прошу помочь.

Задача состоит в следующем

Есть csv файл, такого типа:
CID;LAC;GPS
10127;8050;49°11'23.10"N,16°32'13.38"E
10128;8050;49°11'23.10"N,16°32'13.38"E
10129;8050;49°11'23.10"N,16°32'13.38"E

Последний столбик - географические координаты. Суть в том, что нужно считать эти данные, и потом перевести их в координаты в формате UTM. Как переводить у меня есть представление, хотя и тут рекомендации не помешают=) Проблема сейчас именно в считывании координат с символом "°".

Все варианты, которые пробовала, считывают только до °. Тоесть, вместо всех координат получаю 49. Как записать в массив всю информацию?

Буду благодарна за любую информацию)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2014, 23:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из csv файла в двумерный массив географических координат с нестандартными символами (C++):

Чтение CSV-файла в двумерный массив - C++
Есть файл вида:Нужно собрать числа в двумерный массив. Количество строк в файле неизвестно. Попробовал использовать регулярные выражения....

Чтение в двумерный массив из файла - C++
Есть некоторая последовательность целых чисел, которая хранится в файле. Её нужно считать и записать в двумерный массив.

Рандомно заполнить двумерный массив одинаковыми символами - C++
Всем привет. Начал изучение С++ на практике, первый язык програмирования, много каши в голове, которую пытаюсь раскидать по тарелкам)) не...

Чтение одномерного массива в двумерный массив - C++
Всем здравия. Рассказывать суть программы не буду (смысла в этом не вижу), сама беда не в коде, а в Visual Studio (наверное). Проверял...

Запись и чтение массива указателей в двумерный массив - C++
Подскажите пожалуйста, вот у меня генерируется двумерный массив в массиве указателей (int**), как мне записать массив указателей в другой...

Чтение csv файла в массив - PHP
подскажите пожалуйста как можно из одного массива сделать два. Есть csv фаил где храняться имена и фамилии учащихся. Как можно это...

4
zss
Модератор
Эксперт С++
6537 / 6099 / 2009
Регистрация: 18.12.2011
Сообщений: 15,870
Завершенные тесты: 1
22.11.2014, 23:14 #2
C++
1
2
3
4
5
6
7
8
9
10
int n1,n1,n3,n4,n5,n6;
double d1,d2;
ff>>n1;//10127
ff>>n2;//8050
ff>>n3;//49
ff>>n4;//11
ff>>d1;//23.10
ff>>n5;//16
ff>>n6;//32
ff>>d2;//13.38
1
lirael123
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 5
22.11.2014, 23:24  [ТС] #3
Спасибо большое за быстрый ответ!
А как организовать чтоб по рядкам весь файл считывался? Надо из каждого рядка вытянуть именно эти координаты.
0
zss
Модератор
Эксперт С++
6537 / 6099 / 2009
Регистрация: 18.12.2011
Сообщений: 15,870
Завершенные тесты: 1
22.11.2014, 23:27 #4
Возможно, какие-то из символов надо пропускать.
Попробуйте так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ff>>n1;//10127
ff.get();
ff>>n2;//8050
ff.get();
ff>>n3;//49
ff.get();
ff>>n4;//11
ff.get();
ff>>d1;//23.10
ff.get();
ff>>n5;//16
ff.get();
ff>>n6;//32
ff.get();
ff>>d2;//13.38
ff.get();
ff.get();
Добавлено через 52 секунды
Цитата Сообщение от lirael123 Посмотреть сообщение
как организовать чтоб по рядкам
Читайте в цикле в массив.
0
lirael123
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 5
23.11.2014, 00:05  [ТС] #5
Да, с циклом поняла, спасибо.
А ff в вашем примере это что? Это действительно первая моя прогрмма, поэтому сложновато.
Для самого чтения написала вот такой код
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
FILE *file;
    
        int n1,n2,n3,n4,n5,n6;
        double d1,d2;
        
        file = fopen("bts.csv", "r");
        int i, j;
            for ( i=0; i<6; i++ ) {
                    
                ff>>n1;//10127
                ff.get();
                ff>>n2;//8050
                ff.get();
                ff>>n3;//49
                ff.get();
                ff>>n4;//11
                ff.get();
                ff>>d1;//23.10
                ff.get();
                ff>>n5;//16
                ff.get();
                ff>>n6;//32
                ff.get();
                ff>>d2;//13.38
                ff.get();
                ff.get();
                }
        
        fclose(file);
а как ff декларировать?
0
23.11.2014, 00:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2014, 00:05
Привет! Вот еще темы с ответами:

Чтение CSV-файла в массив. Поделитесь удачным опытом. Спасибо. - Visual Basic
Не получается объявить массив равный количеству строк файла. Dim (17, LinesInFile) требует, чтобы LinesInFile было константой.

Двумерный массив чтение из файла - Delphi
Ребят, нужно крч в таблице прочитать файл. Вот я попытался сделать чтение, но чёт я не смог найти НУЖНОЙ инфы. Вот собственно сам код...

двумерный массив запись/ чтение из файла - Pascal
подскажите пожалуйста как считать из файла двумерный массив размера n´n, заполненный случайными числами, и найти номера строк, все элементы...

Чтение из файла txt в двумерный массив - C#
Добрый день! подскажите как заполнить двумерный массив данными из txt файла. Пример файла во вложении.


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

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

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