ďakujem, takže niečo som si naštudoval a problém 2 a 3 mám vyriešený ale v tej jednotke neviem kde mám chybu
Kód: Vybrať všetko
Program Zoznam;
uses crt;
var meno:array[1..30] of string;
znak1,znak2:char;
pom:string;
n,i,j,dlzka1,dlzka2:integer;
begin
clrscr;
writeln('Zadajte pocet ziakov');
readln(n);
for i:=1 to n do
begin
writeln('Zadajte meno ',i,' ziaka');
readln(meno[i]);
end;
for i:=1 to n-1 do
begin
dlzka1:=length(meno[i]);
dlzka2:=length(meno[i+1]);
writeln(dlzka1,' ',dlzka2);
if dlzka1<=dlzka2 then
begin
for j:=1 to dlzka1 do
begin
znak1:=meno[i][j];
znak2:=meno[i+1][j];
while znak1<>znak2 do
begin
if (ord(znak1)>ord(znak2)) then
begin
pom:=meno[i+1];
meno[i+1]:=meno[i];
meno[i]:=pom;
j:=dlzka1;
end
else begin j:=dlzka1; writeln(meno[1]);
end;
end;
end;
if znak1=znak2 then j:=j+1;
end
else begin
for j:=1 to dlzka2 do
begin
znak1:=meno[i][j];
znak2:=meno[i+1][j];
while znak1<>znak2 do
begin
if (ord(znak1)>ord(znak2)) then
begin
pom:=meno[i+1];
meno[i+1]:=meno[i];
meno[i]:=pom;
j:=dlzka2;
end
else j:=dlzka2;
end;
end;
end; if znak1=znak2 then j:=j+1;
end;
for i:=1 to n do
begin
writeln(meno[i]);
end;
readln;
end.
ešte neviem prečo mi tento program vypisuje stále všetky čísla, malo by to načítat čísla a A{1,2,3,2,4,5,4} a vypisat ich s tým, že tie čo sa opakuju to vynecha B{1,2,3,4,5}
Kód: Vybrať všetko
Program Vyber;
uses crt;
var A,B:array[1..20] of integer;
n,i,j,d,c:integer;
begin
clrscr;
writeln('Zadajte pocet cisel');
readln(n);
for i:=1 to n do
begin
writeln('Zadajte ',i,' cislo');
readln(A[i]);
end;
d:=0;
for i:=1 to n do
begin
for j:=1 to d do
if A[i]<>B[j] {c=0} then begin
d:=d+1;
B[d]:=A[i];
end;
end;
writeln('Cisla ');
for i:=1 to d do
begin
write(B[i],' ');
end;
readln;
end.
a ešte by som chcel vedieť ako upravím tento program tak aby mi počítal to čo je v prílohe
Kód: Vybrať všetko
Program Sinus;
uses crt;
var zaklad,n,exponent,znamienko,i:integer;
sinus,vysledok:real;
function mocnina(zaklad:integer;exponent:integer):longint;
var i,vysl:longint;
begin
vysl:=1;
for i:=1 to exponent do
begin
if i mod 2<>0 then vysl:=vysl*zaklad;
end;
mocnina:=vysl;
end;
function fakt(exp:longint):real;
var i,fakty,d,faktorial:integer;
begin
fakty:=1;
for i:=1 to exp do
begin
if i mod 2<>0 then faktorial:=faktorial*i;
end;
fakt:=faktorial;
end;
begin
clrscr;
writeln('Zadajte pocet clenov(exponent)');
readln(exponent);
writeln('Zadajte zaklad');
readln(zaklad);
znamienko:=(-1);
sinus:=zaklad;
for i:=2 to exponent do
begin
znamienko:=znamienko*(-1);
vysledok:=(mocnina(zaklad,exponent)/fakt(exponent));
sinus:=sinus*znamienko+vysledok;
end;
writeln('Sinus je ',sinus:0:2);
readln;
end.