Версия для печати темы
Форум «Всё о Паскале» _ Задачи _ преобразование квадратной матрицы
Автор: VIVAsik 17.04.2004 17:20
РЕБЯТ помогите ГОРЮ не понимаю (чайнтк я) КОМУ не влом распишите умоляю!!! ЗАРАНИЕ БЛОГАДОРЮ!!!
а) Умножить k-ю строку матрицы А на заданное число;
б) сформировать вектор V, элементами которого являются суммы модулей элементов строк полученной матрицы;
в) упорядочить элементы V в порядке возрастания.
Автор: Catty 17.04.2004 23:57
Код
uses Crt;
const
n=4;
var a:array[1..n,1..n] of integer;
v:array[1..n] of integer;
i,j,k,b:integer;
begin
ClrScr;
for i:=1 to n do begin
for j:= 1 to n do
read(a[i,j]);
writeln;
end;
b:=2;
ClrScr;
for i:= 1 to n do
begin
for j:= 1 to n do
v[i]:=abs(v[i]+(a[i,j])*b);
end;
for i:=1 to n do
writeln('summa stroki nomer',' ',i,':>',' ',v[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if v[i]>v[j] then begin
k:=v[i];
v[i]:=v[j];
v[j]:=k;
end;
writeln('elementu yporjadochenue po vozrostaniu');
for i:= 1 to n do
writeln(v[i]);
end.
только насчет к-ой строкия не поняла, это каждый елемент строки умножить на заданое число или как? для каждой строки свое заданое число так как я взяла одно для всех строк. уточни:p2:
Автор: fms 18.04.2004 3:09
Catty, у тебя получается, что ты умножаешь всем строки на заданное число, а надо только одну конкретную.
надо условие еще приделать
Код
for i:= 1 to n do
begin
for j:= 1 to n do
if i=l then {где l-номер этой самой строки}
v[i]:=abs(v[i]+(a[i,j])*b)
else
v[i]:=abs(v[i]+(a[i,j]))
end;
по моему так..
Автор: Catty 18.04.2004 3:15
я думаю он разберется теперь сам что и куда!! :D
Автор: fms 19.04.2004 3:05
Catty, :D посмотрим.. посмотрим..
Автор: Catty 19.04.2004 3:20
и вообще....где он?? :D
Автор: Catty 19.04.2004 22:34
Цитата(VIVAsik @ 19.04.04 8:38)
1)Умножить k-ю строку матрицы А на заданное число тоесть умножить одну любую строку на любое число, наверное так!!!(или я не знаю)
100% так! ;)
Автор: fms 20.04.2004 2:58
Цитата(VIVAsik @ 19.04.04 12:38)
1)Умножить k-ю строку матрицы А на заданное число тоесть умножить одну любую строку на любое число, наверное так!!!(или я не знаю)
не одну любую, а именно k-ю..
и как успехи? сделал?
Автор: VIVAsik 20.04.2004 14:01
Цитата
и как успехи? сделал?
НУ КАК СКАЗАТЬ КАЖИСЬ ДА. ВРЕМЯ ЕЩЕ НЕ ПРИШЛО....
Я извеняюсь, но вы бы не смогли еще одгу решить
:p2:
( ПЛИИЗЗЗЗ (я не подмазываюсь честно!!!)
Дан массив, состоящий из 2*N элементов. Поменять его элементы местами следующим образом: Первый элемент с последним, второй с предпоследним и т.д.
ЗАРАНИЕ ОГРАМЕННОЕ СПАСИБО УВАЖАЕМЫЕ
САТТУ и
FMS
Автор: Catty 21.04.2004 1:06
Код
uses Crt;
const n=6;
var a:array[1..n*2] of integer;
b: integer;
i,k:integer;
begin
ClrScr;
writeln('array');
for i:=1 to n*2 do begin
read(a[i]);
writeln;
end;
ClrScr;
for i:= 1 to n*2 do
write(a[i]:4,' ');
for i:=1 to n*2-1 do
for k:=i+1 to n*2 do
begin
b:=a[i];
a[i]:=a[k];
a[k]:=b;
end;
write('novuj masiv:>');
for i:=1 to n*2 do
write(a[i]:4,' ');
ReadKey;
end.
вроде оно... :p2:
Автор: fms 21.04.2004 5:58
Код
program pr;
const n=3;
var a:array[1..n*2]of integer;
i,j,temp:integer;
begin
for i:=1 to n*2 do
read(a[i]);
for i:=1 to n do
begin
j:=n*2+1-i;
temp:=a[j];
a[j]:=a[i];
a[i]:=temp;
end;
for i:=1 to n*2 do
write(a[i]);
end.
что то вроде..
Автор: fms 22.04.2004 15:50
VIVAsik, дак проверь и узнаешь что вернее.. )
правильно работаю по моему обе.. но у Catty покрасивее оформлено..
просто 2 варианта 1 задачи.
всего хорошего. :D
Автор: Catty 22.04.2004 23:24
зато у fms по обьему меньше!
твое дело только выбрать!
--------------------
удачки тебе! :D :p2:
Автор: VIVAsik 23.04.2004 16:09
СПАСИБО СПАСИБО!!! (УЖЕ проверил) ВЫБРАЛ работу FMS ,а то у CATTY я БЛОК СХЕМУ немного запарней делать!!!
ВСЕМ ОГРОМНОЕ СПОСИБОЧКИИИИИИИИИИИИИИИИИИИИИИ!!!!! :D :D :D