program typed;
var
fi, fo : file of integer;
x : integer;
begin
Assign(fi,'input.int');
Reset(fi);
Assign(fo,'output.int');
ReWrite(fo);
while not eof(fi) do begin
Read(fi, x);
if x <> 0 then begin
if x > 0 then
x:=x*x;
Write(fo,x);
end;
end;
Close(fo);
Close(fi);
end.
работа с типизированным файлом(C++)
Цитата:
Компоненты типизированного файла – целые числа. Добавить после каждого положительного числа его квадрат, нули удалить.
Без проверок на ошибки и без ввода файла
Ой, извиняюсь. Я не написал язык. нужно на С++. Спасибо max_dark, а можно как нибудь на с++ перенести или хотябы назовите аналоги ф-ий
Код:
#include <fstream>
using namespace std;
int main ( void )
{
int x;
ifstream fi ( "output.int", ios::in | ios::binary );
ofstream fo ( "output.int", ios::in | ios::binary );
while ( !fi.eof() )
{
fi.read ( ( char * ) &x, sizeof ( int ) );
if ( x != 0 )
{
fo.write ( ( char * ) &x, sizeof ( int ) ); // добавил от себя, там каись после самого числа добавлять квадрат нужно
x *= x;
fo.write ( ( char * ) &x, sizeof ( int ) );
}
}
fo.close();
fi.close();
}
using namespace std;
int main ( void )
{
int x;
ifstream fi ( "output.int", ios::in | ios::binary );
ofstream fo ( "output.int", ios::in | ios::binary );
while ( !fi.eof() )
{
fi.read ( ( char * ) &x, sizeof ( int ) );
if ( x != 0 )
{
fo.write ( ( char * ) &x, sizeof ( int ) ); // добавил от себя, там каись после самого числа добавлять квадрат нужно
x *= x;
fo.write ( ( char * ) &x, sizeof ( int ) );
}
}
fo.close();
fi.close();
}
вот - тоже с коленки перекидал, не факт что работать будет, но попробуй