Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2009, 17:19   #1
НедоВовик
Новичок
Джуниор
 
Регистрация: 05.07.2009
Сообщений: 1
По умолчанию С++ работа с файлом.

В С++ не считаю себя даже любителем. Связан с ним из-за вычислительной практики. Пишу программу, задачи которой:
- Создание двумерного массива из двух столбцов и 181-ой строки, где в первом столбце значения от -90 до 90 "градусов", в соседнем - соответствующие значения их синусов;
- Запись этого в файл;
- Чтение из файла;
- Построение из считанного графика синуса.

Проблема - всё зделал, кроме изъятия массива из файла. Упёрся в "can not convert ofstream to double".

Вопрос - как самым простым образом считать массив чисел (double) из файла и присвоить массиву в программе значения этого массива?
НедоВовик вне форума Ответить с цитированием
Старый 05.07.2009, 18:22   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот вам пример:
пусть есть файл test.txt с таким содержанием:
Код:
4
45 0.232
34 0.654
12 0.121
53 -0.345
здесь первая строка - количество строк в файле.
Читаем и выводим на экран:

Код:
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;

int main()
{
int N,i; 
fstream f;
double **mas;

f.open("test.txt",ios::in);
f>>N;  // читаем количество строк

// выделяем память под массив размером в N строк и 2 столбца
mas = new double*[N];
for(i=0; i<N; i++)
 mas[i] = new double[2];
 
for(i=0; i<N; i++)  // читаем данные из файла
 f>>mas[i][0]>>mas[i][1];
 
// выводим
for(i=0; i<N; i++) 
 {
  cout.width(3);
  cout<<mas[i][0]<<"  ";
  cout.precision(3);
  cout<<mas[i][1]<<endl;
 } 
  
f.close(); // закрываем файл

// освобождаем память
for(i=0; i<N; i++)
 delete[] mas[i];
delete[] mas;  
getch();
return 0; 
}
Это пример с динамическим массивом.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с бинарным файлом Геннадий Win Api 8 22.10.2009 18:49
Си++. работа с файлом milate Помощь студентам 0 08.06.2009 12:52
Работа с файлом dat Mega_lamerok Общие вопросы Delphi 6 10.04.2009 19:31
Работа с файлом в C Mishka Помощь студентам 2 22.07.2008 13:28
Работа с текстовым файлом nataly_ukr БД в Delphi 23 07.12.2007 22:13