Mógłbym prosić o poprawienie błędów Jestem początkujący, więc proszę o wyrozumiałość. Gdyby ktoś nie mógł się rozczytać, to oto polecenie:
Zdefiniuj moduł tablice, który zawiera następujące typy:
tablice1- typ tablicowy dla tablicy jednowymiarowej o długości 100
tablice2- typ tablicowy tablicy dwuwymiarowej o maksymalnych rozmiarach 25x25. Tablice zawierają liczby całkowite. Moduł ma zawierać następujące funkcje:
-do wypełnienia tablic z klawiatury i losowo oraz funkcje wypisujące wartości tablicy na ekranie konsoli.
-Funkcje wyszukującą najmniejszy elemt w tablicy i funkcje wyszukującą największy element w tablicy oraz funkcję sortującą tablicę jednowymiarową.
unit tablice;
interface
uses CRT;
type
tablica1=array[1..100] of integer;
tablica2=array[1..25,1..25] of integer;
tablica_z_klawiatury1_wypisz=array[1..25] of integer;
tablica_z_klawiatury2_wypisz=array[1..25,1..25] of integer;
tablica_losowo1wypisz_wypisz=array[1..25] of integer;
tablica_losowo2wypisz_wypisz=array[1..25,1..25] of integer;
procedure tablica_z_klawiatury1;
procedure tablica_z_klawiatury2;
procedure tablica_losowo1;
procedure tablica_losowo2;
procedure tablica_z_klawiatury1_wypisz;
procedure tablica_z_klawiatury2_wypisz;
procedure tablica_losowo1_wypisz;
procedure tablica_losowo2_wypisz;
procedure wartosc_najmniejsza;
procedure wartosc_najwieksza;
procedure sortowanie_babelkowe;
implementation
procedure tablica_z_klawiatury1;
var
tablica1:=tablica;
dl,i:integer;
begin
writeln('podaj wielkosc tablicy, nie wiecej niz 100');
readln(dl);
writeln('Podaj wartosci tablicy');
for i:=1 to dl do begin
read (tablica[i]);
end;
tablica_z_klawiatury1_wypisz[i]:=tablica[i];
readkey;
end;
procedure tablica_z_klawiatury2;
var
tablica2:=tab;
k,w,i,j:integer;
begin
clrscr;
writeln('podaj ilosc kolumn, nie wiecej niz 25');
readln(k);
writeln('podaj ilosc wierszy, nie wiecej niz 25');
readln(w);
writeln(' ');
for i:=1 to w do begin
for j:=1 to k do begin
writeln('podaj wartosc dla kolumny ',j,' i dla wiersza ',i);
read(tab[i][j]);
end;
tablica_z_klawiatury2_wypisz[i][j]:=tab[i][j];
readkey;
end;
procedure tablica_losowo1;
var
zk,i,dl:integer;
tablice1:=tablica;
begin
clrscr;
writeln('podaj wielkosc tablicy, nie wiecej niz 100');
readln(dl);
writeln('podaj zakres wartosci');
readln(zk);
randomize;
for i:=1 to dl do begin
tablica[i]:=random(zk);
end;
tabauto1wypisz_wypisz[i]:=tablica[i];
readkey;
end;
clrscr;
writeln('tablica ma wartosci:');
for i:=1 to dl do begin
if (i<dl) then
write(tablica_losowo1wypisz_wypisz[i],' ; ')
else
writeln(tablica_losowo1wypisz_wypisz[i]);
end;
readkey
end;
procedure tablica_losowo2;
var
k,w,zk,i,j:integer;
tablice2:=tab;
begin
clrscr;
writeln('podaj ilosc kolumn, nie wiecej niz 25');
readln(k);
writeln('podaj ilosc wierszy, nie wiecej niz 25');
readln(w);
writeln('podaj zakres wartosci');
readln(zk);
writeln(' ');
randomize;
for i:=1 to w do begin
for j:=1 to k do begin
tab[i][j]:=random(zk);
end;
tablica_losowo2wypisz_wypisz[i][j]:=tab[i][j];
readkey;
end;
procedure tablica_z_klawiatury1_wypisz;
var
i,j,dl:integer;
begin
clrscr;
writeln('tablica ma wartosci:');
for i:=1 to dl do begin
if (i<dl) then
write(tablica_z_klawiatury1_wypisz[i],' ; ')
else
writeln(tablica_z_klawiatury1_wypisz[i]);
readkey;
end;
procedure tablica_z_klawiatury2wypisz;
var
i,j,k:integer;
begin
writeln(' ');
for i:=1 to w do begin
for j:=1 to k do begin
if (j<k) then
write(tablica_z_klawiatury2_wypisz[i,j],' ; ')
else
writeln(tablica_z_klawiatury2_wypisz[i,j]);
end;
end;
readkey;
end;
procedure tablica_losowo1_wypisz;
var
i,dl:integer;
begin
clrscr;
writeln('tablica ma wartosci:');
for i:=1 to dl do begin
if (i<dl) then
write(tablica_losowo1wypisz_wypisz[i],' ; ')
else
writeln(tablica_losowo1wypisz_wypisz[i]);
end;
readkey
end;
procedure tablica_losowo2_wypisz;
var
i,j,k:integer;
begin
for i:=1 to w do begin
for j:=1 to k do begin
if (j<k) then
write(tablica_losowo2wypisz_wypisz[i,j],' ; ')
else
writeln(tablica_losowo2wypisz_wypisz[i,j]);
end;
end;
readkey
end;
procedure wartosc_najmniejsza;
var
const IMAX=100;
min1,min2,i,a:integer;
begin
read(tablica_z_klawiatury1_wypisz[i]);
if (a[1] < a[2]) then begin
min1 := a[1];
min2 := a[2];
end
else begin
min1 := a[2];
min2 := a[1];
end;
for i := 3 to IMAX do begin
if (a[i] <= min1) then begin
min2 := min1;
min1 := a[i];
end
else if (a[i] <= min2) then
min2 := a[i];
end;
WriteLn('Najmniejsza liczba podanego ciagu to ', min1);
readkey;
end;
procedure wartosc_najwieksza;
var
max,n,i:integer;
begin
read(tablica_z_klawiatury1_wypisz[i]);
max := tablica_z_klawiatury1_wypisz[1];
for i:=2 to n do
if tablica_z_klawiatury1_wypisz[i]>max then
max := tablica_z_klawiatury1_wypisz[i];
writeln('Największy element = ',max);
readkey;
end;
procedure sortowanie_babelkowe;
var
begin
d:=2
read(tablica_z_klawiatury1_wypisz[i]);
for b:=1 to a do begin
if (tablica_z_klawiatury1_wypisz[i]>(tablica_z_klawiatury1_wypisz[i+1] then begin
e:=tab[d];
end;
d:=d+1;
end;
writeln ('',e);
for b:=1 to a do begin
write (tablica_z_klawiatury1_wypisz[i],' ');
end;
readkey;
end.
Z powodu usunięcia mojego tematu z powodu nieczytania regulaminu wklejam odpowiedzi użytkowników:
Patryk27:
type
tablica1=array[1..100] of integer;
tablica2=array[1..25,1..25] of integer;
tablica_z_klawiatury1_wypisz=array[1..25] of integer;
tablica_z_klawiatury2_wypisz=array[1..25,1..25] of integer;
tablica_losowo1wypisz_wypisz=array[1..25] of integer;
tablica_losowo2wypisz_wypisz=array[1..25,1..25] of integer;
1a) złe nazwy typów; najlepiej byłoby coś w rodzaju IntArray100 = Array[1..100] of Integer; (podobnie z resztą).
1b) powtarzanie się tych samych typów
2.Mylisz typy ze zmiennymi.
3.Beznadziejne formatowanie kodu.
Z powodu punktu trzeciego nic więcej nie można stwierdzić; jeżeli masz Lazarusa, jest tam wbudowane narzędzie do formatowania kodu - użyj go.
babubabu:
Funkcje wyszukującą najmniejszy elemt w tablicy i funkcje wyszukującą największy element w tablicy
A ja widzę same procedury.