knorus Posted June 27, 2008 Report Share Posted June 27, 2008 Помогите, пожалуйста, решить задачу или подскажите алгоритм решения: Задана матрица А(NхM), где 1<N<20, 1<M<40. Преобразовать каждую строку матрицы, расположив вначале отрицательные члены, затем – положительные, а затем – нулевые, с сохранением порядка чисел. Link to comment Share on other sites More sharing options...
Тролль Posted June 27, 2008 Report Share Posted June 27, 2008 (edited) knorus: Ну есть же в начале этого раздела тема среди "важных": "Заказы "Сделайте все за меня"", специально для таких вопросов. А сама программа - например, так: var A:array[1..20,1..40]of integer; B:array[1..40]of integer; M,N,i,j,k:integer;beginWrite('N=');ReadLn(N); Write('M=');ReadLn(M);randomize; for i:=1 to N do for j:=1 to M do begin A[i,j]:=random(18); A[i,j]:=A[i,j]-9 end;WriteLn; for i:=1 to N do begin for j:=1 to M do Write(A[i,j]:2); WriteLn end;for i:=1 to N dobeginfor j:=1 to M do B[j]:=0;k:=1; for j:=1 to M do if A[i,j]<0 then begin B[k]:=A[i,j]; inc(k) end;k:=M; for j:=M downto 1 do if A[i,j]>0 then begin B[k]:=A[i,j]; dec(k) end;for j:=1 to M do A[i,j]:=B[j];end;WriteLn; for i:=1 to N do begin for j:=1 to M do Write(A[i,j]:2); WriteLn end;WriteLn; ReadLnend. Для простоты проверки работы программы тут матрица сделана из целых чисел и заполняется однозначными случайными числами. Числа легко заменить на действительные, ввод - на ручной. Хотя я никогда не мог понять, что означают в условии слова "задана матрица". Если задана, то где она? :g: :g: P.S: Стоп, извиняюсь, перечитал условие, оказалось, сделал не совсем так: надо было в порядке: отрицательные, положительные, нулевые, а я сделал было в порядке: отрицательные, нулевые, положительные. Чтобы исправить, надо заменить строку k:=M; for j:=M downto 1 do if A[i,j]>0 then begin B[k]:=A[i,j]; dec(k) end; на for j:=1 to M do if A[i,j]>0 then begin B[k]:=A[i,j]; inc(k) end; Edited June 27, 2008 by Тролль Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now