Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
5:55
1345
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->

Автор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)
К списку тем
2007-2025, онлайн игры HeroesWM