Форумы-->Форум для внеигровых тем-->
Автор | Pascal |
племяннику задали задачку на паскале, а сам я его и подзабыл
в интернете поискал - запутался
может у кого из знатоков есть такая задачка реализованная:
как реализовать заполнение динамического массива (двумерка) случайным образом из типизированного (бинарного) файла (с проверкой существования файла) | пролистал еще раз интернет,лишнее поудалял и получилось так
program massiv1;
uses crt;
label inp1; {объявление метки для возврата при неправильном вводе параметров}
var n,k,i,j: integer;
p: real;
a: array[1..10,1..10] of real;
f: text;
begin
{инициализация генератора псевдослучайных чисел}
randomize;
{очистка текстового экрана}
clrscr;
{ввод размерности массива}
inp1: writeln('Введите размерность массива в диапазоне [1:10]');
readln(n);
if (n<1) or (n>10) then goto inp1;
{заполнение из текстового файла}
begin
writeln('Идет заполнение массива значениями из файла c:\in.txt');
{работа с указанным файлом}
assign(f,'c:\in.txt');
reset(f);
i:=1;
while not eof(f) do {проверка конца файла}
begin
j:=1;
while j<=n do {заполнение по столбцам}
begin
read(f,a[i,j]);
j:=j+1;
end;
i:=i+1;
end;
close(f);
end;
writeln('Массив заполнен значениями.');
{вывод массива на экран}
writeln;
for i:=1 to n do begin
for j:=1 to n do
begin
write(a[i,j],' ');
end; writeln; end;
end.
что-то похоже уже,однако,если это верно, все равно нету проверки на существование того файла | твой племяник, стопудов учиться в лицее или на информационном факультете, раз такие задачки... | математический уклон 11 класса
Uses Dos;
Var
S:SearchRec;
Begin
FindFirst('*.exe',AnyFile,S);
While DosError=0 do
Begin
WriteLn(S.Name);
FindNext(S);
End;
End.
это вроде ищет все екзешные файлы. т.е. тут поиск пол расширению.
не знаю,будет ли работать,если вместо *.exe прописать свой файл | {Получаем в name bak имя файла с расширением .ВАК:}
k := pos('.',name);
if k = 0 then
k := length(name) +1;
name_bak := copy(name,1,k-1) + bak;
{Проверяем существование исходного файла:}
assign(fi,name);
{$I-} ' reset(fi);
if lOResult <> 0 then
halt; {Завершаем программу: файла не существует}
close(fi); ,
{Проверяем существование .ВАК-файла:}
assign(fо,name_bak);
reset (fo);
{$I+}
if lOResult = 0 then
begin {Файл .ВАК существует:}
close(fo); {Закрываем его}
erase(fo) {и уничтожаем}
end; | спасибо, пойду разбираться) | тема закрыта by good_evil (2011-01-24 18:27:11) |
---|
К списку тем
|