ofstream fout ("rez. dan");
double x, y, xn, dx, xk;
fin>>xn>>dx>>xk;
fout<< "xn=" <<xn<<" dx=" <<dx<<" xk ="<<xk<<' \ n ';
for(x = xn;x <= xk;x += dx)
{
y = exp ( -x );
fout<< " x = " <<x<< "y = "<< y < ' \ n';
}
fin.close ( );
fout.close ( );
}
Пример 2 Постановка задачи.
Описать класс "матрица". Предусмотреть функцию-член для ввода элементов матрицы из выходного файла, дружественную функцию для их сложения и член-функцию для занесения результирующей матрицы в файл результатов. Количество строк и столбцов считать заведомо известными.
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#define N 2
#define M 3
class matr
{
float x [ N ] [ M ];
public:
void vvod (char * S);
void vivod (char * S);
friend matr operator + (matr & a, matr & b);
};
void matr :: vvod (char * S)
{
ifstream ifs (S);
if(ifs)
{
cout<< "Не открылся файл" << S << ' \ n ';
exit(1);
}
for(int i = Ø; i < N; i + +)
for( int j = Ø; j < M; j + +)
ifs >> x [ i ][ j ];
}
void matr :: vivod ( char * S)
{
ofstream ofs ( S );
for(int i = Ø; i < N; i ++)
for(int j = Ø; j < M; j ++)
ofs<<x [ i ][ j ];
}
matr operator + ( matr & a, matr & b)
{
matr z;
for(int i = Ø; i < N; i ++)
for(int j = Ø; j < M; j ++)
z.x [ i ] [ j ] = a. x [ i ] [ j ] = b. x [ i ] [ j ] ;
return z;
}
void main ( )
{
matr v, w, q
v.vvod ("v. dan");
w.vvod (w. dan");
q = v + w;
q.vivod ("q. dan");
}
Матрицы v и w записаны соответственно в файлах v . dan и w . dan.Результирующая матрица q заносится в файл q. dan.
24.5 Перегрузка операций сдвига для файлового ввода/вывода
Осуществляется подобно рассмотренному ранее расширению потоков для типов, определяемых пользователем с использованием дружественных функций. Их заглавия имеют вид:
Пример. Условия задачи такие же, как и в предыдущем примере, но складываемые матрицы находятся в одном файле vhod. dan.
Пусть конкретно находится серия матриц v [ 2 ][ 3 ] и w [ 2 ][ 3 ]. Их элементы последовательно записаны в файле vhod. dan.Например, в файле vhod. dan имеются следующие числа:
1 |
2 |
3 |
4 |
5 |
6 |
-1 |
-2 |
-3 |
-4 |
-5 |
-6 |
Первые две строки - элементы матрицы v, а вторые - матрицы w.
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#define N 2
#define M 3
class matr
{
float x [ N ][ M ];
friend ifstream & operator >> (ifstream & ifs, matr & x);
friend ofstream & operator << (ofstream & ofs, matr & a);
friend matr operator +(matr & a, matr & b);
};
ifstream & operator >> (instream & ifs, matr & x)
{
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.