Sa se alcatuiasca o functie care schimba locurile a doua linii a unei matrici patrate.
Folosind aceasta functie,sa se ordoneze liniile matriciei date cu un numar impar de coloane ,astfel incit elemntele coloanei din mijloc sa fie in ordine cresctoare.(IN PASCAL)
Răspunsuri la întrebare
Răspuns de
0
Program Tema;
Var a:array[1..100,1..100] of integer;
procedure schimba_linii(n,linia1,linia2:integer);
var j,temp:integer;
begin
for j:=1 to n do
begin
temp:=a[linia1][j];
a[linia1][j]:=a[linia2][j];
a[linia2][j]:=temp;
end;
end;
var n,i,j,m,mijloc:integer;
Begin
writeln('Introduceti dimensiunile matricei:');
readln(n);
if n mod 2=0 then
begin
writeln('Nr coloane trebuie sa fie impar pentru ordonarea ceruta');
writeln('In cazul acesta cand nr de coloane e par, o alegem fix pe cea de la jumatate');
end;
writeln('Introduceti matricea');
for i:=1 to n do
begin
for j:=1 to n do
begin
read(a[i][j]);
end;
readln;
end;
if n mod 2=0 then
mijloc:=trunc(n/2)
else
mijloc:=trunc((n+1)/2);
for i:=1 to n do
begin
m:=i;
for j:=i to n do
begin
if a[j][mijloc]<a[m][mijloc] then
m:=j;
end;
schimba_linii(n,i,m);
end;
writeln('Matricea cu coloana dim mijloc sortata este: ');
for i:=1 to n do
begin
for j:=1 to n do
begin
write(a[i][j]);
write(' ');
end;
writeln;
end;
End.
Problema Produs Scalar
Program Tema;
var n,i,j,k,s,min,linia1,linia2:integer;
a:array[1..100,1..100] of integer;
Begin
min:=maxint;
writeln('Introduceti dimensiunea matricei: ');
readln(n);
writeln('Introduceti matricea: ');
for i:=1 to n do
begin
for j:=1 to n do
begin
read(a[i][j]);
end;
readln;
end;
for i:=1 to n do
begin
for k:=1 to n do
begin
s:=0;
for j:=1 to n do
begin
s:=s+a[i][j]*a[k][j];
end;
if s<min then
begin
min:=s;
linia1:=i;
linia2:=k;
end;
end;
end;
writeln('Minimul produs scalar este: ',min);
writeln('obtinut cu liniile: ',linia1,' ',linia2);
End.
Var a:array[1..100,1..100] of integer;
procedure schimba_linii(n,linia1,linia2:integer);
var j,temp:integer;
begin
for j:=1 to n do
begin
temp:=a[linia1][j];
a[linia1][j]:=a[linia2][j];
a[linia2][j]:=temp;
end;
end;
var n,i,j,m,mijloc:integer;
Begin
writeln('Introduceti dimensiunile matricei:');
readln(n);
if n mod 2=0 then
begin
writeln('Nr coloane trebuie sa fie impar pentru ordonarea ceruta');
writeln('In cazul acesta cand nr de coloane e par, o alegem fix pe cea de la jumatate');
end;
writeln('Introduceti matricea');
for i:=1 to n do
begin
for j:=1 to n do
begin
read(a[i][j]);
end;
readln;
end;
if n mod 2=0 then
mijloc:=trunc(n/2)
else
mijloc:=trunc((n+1)/2);
for i:=1 to n do
begin
m:=i;
for j:=i to n do
begin
if a[j][mijloc]<a[m][mijloc] then
m:=j;
end;
schimba_linii(n,i,m);
end;
writeln('Matricea cu coloana dim mijloc sortata este: ');
for i:=1 to n do
begin
for j:=1 to n do
begin
write(a[i][j]);
write(' ');
end;
writeln;
end;
End.
Problema Produs Scalar
Program Tema;
var n,i,j,k,s,min,linia1,linia2:integer;
a:array[1..100,1..100] of integer;
Begin
min:=maxint;
writeln('Introduceti dimensiunea matricei: ');
readln(n);
writeln('Introduceti matricea: ');
for i:=1 to n do
begin
for j:=1 to n do
begin
read(a[i][j]);
end;
readln;
end;
for i:=1 to n do
begin
for k:=1 to n do
begin
s:=0;
for j:=1 to n do
begin
s:=s+a[i][j]*a[k][j];
end;
if s<min then
begin
min:=s;
linia1:=i;
linia2:=k;
end;
end;
end;
writeln('Minimul produs scalar este: ',min);
writeln('obtinut cu liniile: ',linia1,' ',linia2);
End.
Alte întrebări interesante
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Geografie,
9 ani în urmă
Engleza,
9 ani în urmă