Suma 3 macierzy
program suma;
uses crt;
TYPE
macierz=array [1..20,1..20] of real;
var A,B,AB,C,D:macierz;
n,m:integer;
NZ1,NZ2,NZ3:string;
Begin
Clrscr;
Writeln(‘Podaj wymiary macierzy, wiersz,kol. ‘);
Readln(n,m);
Writeln(‘Nazwy macierzy: ‘);
Readln(NZ1,NZ2,NZ3);
CZYTAJ(N,MA,NZ1);
CZYTAJ(N,M,B,NZ2);
CZYTAJ(N,M,C,NZ3);
SUMA(N,M,A,B,AB);
SUMA(N,M,AB,C,D);
Writeln(‘MACIERZ’,NZ1);
DRUK(N,M,A);
Writeln;
Writeln(‘MACIERZ’,NZ2);
DRUK(N,M,B);
Writeln(‘MACIERZ’,NZ3);
DRUK(N,M,C);
Writeln(‘SUMA: ‘,NZ1+NZ2+NZ3);
DRUK(N,M,D);
END.
Stworzylam program na sume parzystych i zapisanie jej w pliku tylko jest mały problem w pliku zapisuje się ostatnia wprowadzona liczba i suma liczb parzystych a nie wszystkie liczby parzyste
program yyh ;
var k:integer;
l,a:array[1..20] of byte;
sp:integer;
nazwa:string[20];
dane:text;
begin
clrscr;
writeln('nazwa tworzonego pliku');
readln(nazwa);
assign(dane,nazwa);
rewrite(dane);
sp:=0;
for k:=1 to 5 do
writeln('liczba ', k:2,'=');
readln(l[k]);
a[k]:= l[k] ;
if ((l[k] div 2)*2=l[k])
then
sp:=sp+a[k];
end;
writeln('suma parzystych =', sp);
readln;
writeln(dane, a[k] , sp);
close(dane);
end.
Program który utworzy plik zawierający wykaz wspołrzednych wielu punktów.
program plik;
var n,k,m:integer;
x,y: real;
nazwa_pliku:string;
plik:text;
Writeln(‘Podaj nazwe pliku’);
Readln(n);
ASSIGN(plik,nazwa_pliku);
REWRITE(plik);
FOR K:=1 to N DO
Writeln(‘NR,x,y’,k:2,’punktu);
Readln(m,x,y);
Writeln(plik, m:0,x:0:2,y:10:2);
End;
CLOSE(plik);
Program, ktory wczyta z pliku wykaz wspolrzednych punktow, wyswietli go, pobierze wspolrzedne dwoch punktow okreslone numerami I wyznaczy odcinek miedzy punktami. Znana jest liczba pkt na pliku.
Program odcinek;
var nazwa:string;
wykaz:text;
d,x1,y1,x2,y2:Real;
n,K,NR1,NR2:integer;
x,y:array[1..100] of real;
NR:array[1..100] of integer;
Writeln(‘Nazwa pliku z danymi’);
Readln(nazwa);
ASSIGN(wykaz,nazwa);
RESET(wykaz);
I.Writeln(‘Liczba punktów w wykazie’);
FOR:=1 TO N DO
Readln(NR[k], x[k],y[k]);
II. n:=0
WHILE NOT EOF (wykaz) DO
n:= n+1
Readln(wykaz, NR[n], x[n], y[n]);
Writeln(‘Pobrano wspołrzędne’,n:0,’punktów’);
Readln;
Writeln(‘m’:10,’x’,:10,’y’:10);
FOR k:=1 TO N DO
Writeln(NR[k]:10, x[k]:10;2,y[k]:10:2);
Writeln(‘Podaj numer dwóch punktow’);
Readln(NR1,NR2);
IF NR1=NR[k] THEN
x 1:=x[k];
y1=y[k];
IF NR2=NR[k] then
x 2:= x[k];
y2:=y[k];
d:=sqrt(sqr(x2-x1) + sqr(y2-y1));
Writeln(‘dlugość= ‘d:0:2);
Program który pobierze z pliku o podanej nazwie liczby i utworzy 2 nowe pliki, 1 zawierający liczby parzyste a 2 liczby nieparzyste.
var a,b,c : File of integer;
NZD,NZP,NZN:string;
L:integer;
Readln(NZD);
Writeln(‘Nazwa pliku liczb parzystych’);
Readln(NZP);
Writeln(‘Nazwa pliku liczb nieparzystych’);
Readln(NZN);
ASSIGN(a,NZD);
ASSIGN(b,NZP);
ASSIGN(c,NZN);
RESET(a);
REWRITE(b);
REWRITE(c);
n:= 0;
WHILE NOT EOF (a) DO
Readln(a,L);
IF L MOD 2=0 THEN
Writyeln(b,L:10);
Writeln(c,L:10);
N:=N+1;
CLOSE(a);
CLOSE(b);
CLOSE(c);
Writeln(‘przeczytano’,n:5,’liczb’);
Wczytuje 50 liczb, tworzy plik z liczbami parzystymi i ich sumą
program liczby;
var k, s:integer;
var l:array[1..50] of integer;
var nazwa_pliku:string;
var plik:text;
writeln('podaj nazwe tworzonego pliku');
readln(nazwa_pliku);
assign(plik, nazwa_pliku);
rewrite(plik);
for k:=1 to 50 do
writeln('liczba=');
if l[k] mod 2=0 then
writeln(plik, l[k]:2);
close(plik);
append(plik);
s:=0;
s:=s+l[k];
writeln (plik, s:2);
close(plik...
katarina92