Форум программистов, компьютерный форум CyberForum.ru

Как записать данные из файла в двумерный массив? - C++

Войти
Регистрация
Восстановить пароль
 
factura122
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 70
08.01.2014, 09:31     Как записать данные из файла в двумерный массив? #1
Дан файл координат вершин ломаной линии на плоскости. Определить, имеет ли ломаная линия самопересечения, если да, то записать в файл G координаты точек самопересечения. Реализовать на двоичных файлах с помощью структур данных (struct).

1)записать бинарный файл с координатами(с этим проблем нету)
2)считать эти координаты из файла( вот здесь проблема, не знаю как считать в двумерный массив)
3 Формулу расчёта знаю разберусь
запись в бинарном виде в файл G(с этим тоже разберусь)
Вот код программы
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
#include <conio.h>
#include <stdio.h>
#include <locale.h>
FILE *f,*g;
struct Line
{
int X,Y;
};
void main()
{
setlocale(LC_ALL,"Russian");
printf("ЗАПОЛНИТЕ ФАЙЛ\n");
printf("Количество вершин: ");
int n;
Line lom;
f=fopen("data.line","wb");
scanf("%d",&n);
if(n<=2)
{
printf("Ломанная линия не может состоять из двух точек:");
_getch(); 
return ;
}
printf("Введите значения координат:\n ");
for(int i=0;i<n;i++)
{
scanf("%d%d",&lom.X,&lom.Y); 
fwrite(&lom.X,sizeof(Line),1,f);
fwrite(&lom.Y,sizeof(Line),1,f);
}
 
fclose(f);
printf("____________________________________________________ ____________________________\n");
 
printf("Определяем, имеет ли линия самопересечения\n");
int *Otr,*Peresech,*x;
Otr=new int[n];
_getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 09:31     Как записать данные из файла в двумерный массив?
Посмотрите здесь:

Как из файла записать данные в другой файл? C++
C++ Как записать данные в начало файла не уничтожая его?
Как можно записать строку в конец файла, чтобы данные которые были в нем не стерлись? C++
C++ Как записать двумерный массив в файл?
C++ Как правильно записать двумерный динамический массив?
Как в С++ из файла записать в массив,в файле матрица 3Х3 C++
C++ Как ввести данные из файла в массив?
C++ Считать данные из текстового файла и записать их в массив float-ов
Считать из файла данные определенного типа и записать в массив C++
Записать текст из файла в двумерный массив C++
C++ Как считать данные с файла и записать в массив?
C++ Как записать данные из одномерного массива в двумерный?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,113
08.01.2014, 12:24     Как записать данные из файла в двумерный массив? #2
Как то так, не проверял, самопересечение определите сами.
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
#include <iostream>
#include <fstream>
 
struct Point
{
  float x, y;
};
 
int main()
{   
 std::ofstream out("data.dat", std::ios_base::out | std::ios_base::binary);
 
 const size_t SIZE = 5;
 Point * point = new Point[SIZE];
 
 for(int i = 0; i < SIZE; ++i) //ГЇГЁГёГҐГ¬ Гў ГґГ*éë
 {
   std::cout << "Point # " << i + 1 << std::endl;
   std::cout << "Input x : "; std::cin >> point[i].x; 
   std::cout << "Input y : "; std::cin >> point[i].y;
   if(out)
     out.write((char *)&point[i], sizeof(point) / SIZE);
 }
      
 delete [] point; point = NULL;
 point = new Point[SIZE];
 out.close();
 
 std::ifstream in("data.dat",  std::ios_base::in | std::ios_base::binary);
 
 for(int i = 0; i < SIZE / 2; ++i) // Г·ГЁГІГ*ГҐГ¬ ГЁГ§ ГґГ*éëГ*
   in.read((char *)&point[i], sizeof(point) / SIZE);
 
 for(int i = 0; i < SIZE; ++i) //âûâîäèì ïðî÷èòГ*Г*îå Г*Г* ГЅГЄГ°Г*Г*
 {
   std::cout << "Point # " << i + 1 << std::endl;
   std::cout << "Input x : " << point[i].x << std::endl; 
   std::cout << "Input y : " << point[i].y << std::endl;
 }
 
 delete [] point; point = NULL;
 in.close();
    
  system("PAUSE");
  return 0;
}
factura122
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 70
09.01.2014, 11:55  [ТС]     Как записать данные из файла в двумерный массив? #3
Спасибо вы мне помогли, конечно пришлось переделывать на синтаксис чистого C, это у нашего препода шиза такая)
Yandex
Объявления
09.01.2014, 11:55     Как записать данные из файла в двумерный массив?
Ответ Создать тему
Опции темы

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