knorus Опубликовано 27 июня, 2008 Жалоба Поделиться Опубликовано 27 июня, 2008 Помогите, пожалуйста, решить задачу или подскажите алгоритм решения: Задана матрица А(NхM), где 1<N<20, 1<M<40. Преобразовать каждую строку матрицы, расположив вначале отрицательные члены, затем – положительные, а затем – нулевые, с сохранением порядка чисел. Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 27 июня, 2008 Жалоба Поделиться Опубликовано 27 июня, 2008 (изменено) 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; Изменено 27 июня, 2008 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти