Kamrad.ru

Go Back   Kamrad.ru > Форумы общей тематики > Программы (software)

Reply
 
Thread Tools Display Modes
Old 02-01-2004, 13:39   #1
N30D
Камрад
 
Join Date: июл 2002
Сообщений: 593
Arrow Прога на Паскале

Братци хелпуйте! Дали мне вчера програмку накатать вроде как маленькую, но я не могу разобраться в одном моменте. Помогите пожалуйста!
Вот само задание:
Матрица действительных чисел А размером n*n записана на диске А с именем matrfile.txt.
Не считыая матрицу в память, просмотреть элементы главной диагонали.Если диагональный элемент отрицательный то дописать в конец этого файла, а на его место записать 0. Вывести на экран информацию в виде: сначала напечатать замененые диагональные эл-ты, а затем матрицу размером n*n c заменеными диагональными элементами. Опеределить и напечатать число положит элементов в реорганизованном файле


А непонятен мне один момент:
Если диагональный элемент отрицательный то дописать в конец этого файла, а на его место записать 0.

Покажите пожалуйста как это сделать!Весь код мне не нужен только этот момент.
N30D is offline   Дневник [Ответить с цитированием]
Old 03-01-2004, 06:45   #2
makcassa
Камрад
 
Join Date: окт 2002
Location: Благовещенск
Сообщений: 209
Smile

N30D
К Константинычу обратись. (УПК)
makcassa is offline   [Ответить с цитированием]
Old 03-01-2004, 08:14   #3
N30D
Камрад
 
Join Date: июл 2002
Сообщений: 593
makcassa Он сам не знает.
N30D is offline   Дневник [Ответить с цитированием]
Old 03-01-2004, 12:51   #4
N30D
Камрад
 
Join Date: июл 2002
Сообщений: 593
Вот сам код. что куда дописывать?что убрать? Помогите!

program lab8;
uses wincrt;
const N=5;
var
M:file of integer;
A:array [1..N,1..N] of integer; (*massive NxN*)
i,j: integer;(*peremennie*)
z:integer;
Begin
assign(M, 'C:\matrfile');
reset(M);
Randomize;
For i:=1 to N do (*zapolnenie i pechat massiva*)
begin
writeln;(*perevod stroki*)
For j:=1 to N do
begin
If odd(random(10)) (*esli sluch chisl is diap 1..10 nechet.*)
then A[i,j]:=-(random(100)) (*to v massive zapoln otric chislo*)
else A[i,j]:=(random(100)); (*else polojit iz interv 1..100*)
write(A[i,j]:4);
end;
end;


for i:=1 to n do
for j:=1 to n do
if A[i,i]<0 then A[i,i]:=0;

writeln;
writeln;
for i:=1 to N do
begin
writeln;
for j:=1 to N do write(A[i,i]:4);
end;
close(M);
end.
N30D is offline   Дневник [Ответить с цитированием]
Old 05-01-2004, 09:05   #5
N30D
Камрад
 
Join Date: июл 2002
Сообщений: 593
Ладно. Если кому интересно вот исходник. Как у нас говорится только больше мучился, на самом то деле фигня.

program lab8;
uses wincrt;
const n=5;
var
A:integer;
i,j,z,b:integer;
m:file of integer;
f:text;

begin
randomize;

assign(m,'C:\111.ddd'); ASSIGN(f,'c:\111.TXT');
REWRITE (F);
rewrite(m);
For i:=1 to N do begin
For j:=1 to N do
begin
A:= random(100);
A:=A-50;
write(A:4);
write(m,A);
WRITE (F,A:6);
end; writeln (f);
end;close(m);

reset(m); writeln (f);
for i:=1 to n do
for j:=1 to n do
begin
read (m,a);
if i=j then begin
if A<0 then write (f,a);
writeln (f);
end;
end;
close(M);
reset(M);

z:=0; writeln (f);
for i:=1 to n do begin
for j:=1 to n do begin
read (m,a);
if i=j then begin
if A<0 then A:=0;
write (f,a:6);
end
else begin
write(f,A:6);
if a>0 then z:=z+1;
end;
end;
writeln (f);
end;
writeln (f);
writeln (F,z);

close(M);
close(f);
end.
N30D is offline   Дневник [Ответить с цитированием]
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +3. The time now is 02:28.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Любое использование материалов сайта
возможно только с разрешения его администрации.