program Project1; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Classes { you can add units after this }; type tablica = array[1..7,1..7] of char; var macierz : tablica; i, j, suma, litery, cyfry : integer; u, again : char; plikTekst : file of char ; s: string; begin AssignFile(plikTekst,'plikTekst.bin'); Rewrite(plikTekst); Randomize; Repeat Randomize; for i:= 1 to 7 do {Inicjalizacja macierzy} for j:= 1 to 7 do begin while true do begin u:=chr(ord ('0')+Random(74)); if (u>='0') and (u<='9') or (u>='A') and (u<='Z')or (u>='a') and (u<='z') then begin macierz[i,j]:=u ; break; end; end; end; begin for i:=1 to 7 do {Wyswietlanie macierzy} begin for j:=1 to 7 do write(plikTekst,macierz[i,j]); end; for i:=1 to 7 do begin for j:=1 to 7 do write(macierz[i,j]:2,' '); writeln; end; CloseFile(plikTekst) ; writeln('Program zakonczony'); end; begin {Slowo na przekatnej} for i:=1 to 7 do begin writeln (macierz[i,i]); if (macierz[i,i]>='A') and (macierz[i,i]<='Z') or (macierz[i,i]>='a') and (macierz[i,i]<='z') then s:=s + (macierz[i,i]) ; end; writeln('Slowo na glownej przekatnej to ',s); end; begin {Suma liczb jezeli znak jest cyfra} suma := 0; writeln('Liczby w macierzy to:'); for i:=1 to 7 do begin for j:=1 to 7 do if (macierz[i,j]>='0') and (macierz[i,j]<='9') then begin write(' ',macierz[i,j]); suma:= suma + ord(macierz[i,j])-48; end; end; writeln; writeln('Suma liczb macierzy wynosi Suma=',suma); end; begin {Ilosc liter i cyfr} litery := 0; cyfry := 0; writeln('Ilosc cyfr i liczb:'); for i:=1 to 7 do begin for j:=1 to 7 do if (macierz[i,j]>='A') and (macierz[i,j]<='Z') or (macierz[i,j]>='a') and (macierz[i,j]<='z') then begin litery := litery + 1; end else cyfry := cyfry + 1; end; writeln('Ilosc cyfr to ',cyfry); writeln('Ilosc liter to ',litery); end; writeln('Jesli chcesz powtorzyc program wcisnij t'); readln(again); Until again = 'n'; end.