Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36

Все отрицательные элементы матрицы переместить в начало по возрастанию значения элементов

08.12.2009, 21:30. Показов 1838. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В однмерном массиве все отрицательные элементы переместить в начало по возрастанию значения элементов, а остальные в конец по порядку следования.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2009, 21:30
Ответы с готовыми решениями:

Все отрицательные значения вещественного массива переместить в его начало
Написать рекурсивную подпрограмму,которая все отрицательные значения вещественного массива перемещает в его начало. Массивы и циклы не...

В одномерном массиве все отрицательные элементы переместить в начало, а остальные-в конец
В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные-в конец с сохранением порядка следования....

65. (7 б.) Дан массив A(n). Все положительные его элементы поместить в начало массива B(n), а отрицательные элементы – в начало массива C(n). Подсчита
65. (7 б.) Дан массив A(n). Все положительные его элементы поместить в начало массива B(n), а отрицательные элементы – в начало массива...

15
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
08.12.2009, 21:32
1. Переносим отрицательные вперед, считаем(=к).
2. От 1 до к сортируем по возрастанию.
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
09.12.2009, 19:09  [ТС]
я алгоритм примерно знаю, но как это на паскале сделать?
0
1916 / 1066 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
09.12.2009, 19:21
тем более сортировки есть на форуме, см. шапку форума
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
09.12.2009, 19:28
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
uses crt;
const n=20;
var a:array[1..n]of integer;
    i,k,j,x:integer;
begin
clrscr;
randomize;
writeln('Исходный массив:');
for i:=1 to n do
   begin
     a[i]:=random(20)-10;
     write(a[i],' ');
   end;
writeln;
writeln;
k:=0;
for i:=1 to n do
if a[i] < 0 then
  begin
    k:=k+1;
    x:=a[i];
    for j:=i downto k+1 do
    a[j]:=a[j-1];
    a[k]:=x;
  end;
writeln('Перестановка отрицательных вперед:');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln;
for i:=1 to k-1 do
for j:=i+1 to k do
if a[i]>a[j] then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('Сортировка отрицательных:');
for i:=1 to n do
write(a[i],' ');
readln
end.
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
09.12.2009, 19:46  [ТС]
извини, но там почему-то не все отрицательные переставляет вперед и не все сортирует.
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
09.12.2009, 19:51
Не знаю, у меня все переставляет и сортирует.
Миниатюры
Все отрицательные элементы матрицы переместить в начало по возрастанию значения элементов  
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
09.12.2009, 19:54  [ТС]
а вы попробуйте несколько раз запустить.
0
1916 / 1066 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
09.12.2009, 19:59
я себе скопировал код, все работает и при многократной отправке
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
09.12.2009, 20:00
jordj-93, А что от этого изменится? Программа или работает, или нет, а через 10 раз она по другому работать не будет.
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
09.12.2009, 20:05  [ТС]
а ты не знаешь почему у меня не работает
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
09.12.2009, 21:15
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
uses crt;
var m:array[1..100]of integer;
i,n,j,b:integer;
 
begin
 clrscr;
 write('N-> ');
 readln(n);
 for i:=1 to n do read(m[i]);
 readln;
 
 for i:=1 to n do 
 for j:=1 to n-1 do
 if (m[i]>=0) and (m[i+1]<0) then
 begin
  b:=m[j];
  m[j]:=m[j+1];
  m[j+1]:=b;
 end else if (m[i]<0) and (m[i+1]<0) and (m[i]>m[i+1]) then
 begin
  b:=m[j];
  m[j]:=m[j+1];
  m[j+1]:=b;
 end;
 
 for i:=1 to n do write(m[i],' ');
 readln;
end.
0
1916 / 1066 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
09.12.2009, 21:17
jordj-93, вы что издеваетесь?вам Puporev написал решение задачи, что вам еще нужно?
0
09.12.2009, 21:27

Не по теме:

Snoopy, ну зачем же так грубо? Он спросил - я ответил, ничего лишнего.

0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 36
09.12.2009, 21:51  [ТС]
спасибо, но она маленько не работает.
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
09.12.2009, 21:53
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Я даже знаю где:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
for i:=1 to n do 
 for j:=1 to n-1 do
 if (m[j]>=0) and (m[j+1]<0) then //вместо i здесь j
 begin
  b:=m[j];
  m[j]:=m[j+1];
  m[j+1]:=b;
 end else if (m[j]<0) and (m[j+1]<0) and (m[j]>m[j+1]) then //вместо i здесь j
 begin
  b:=m[j];
  m[j]:=m[j+1];
  m[j+1]:=b;
 end;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2009, 21:53
Помогаю со студенческими работами здесь

Переместить некоторые элементы в начало матрицы
помогите пожалуйста составить такую програмку: &quot;Все елементы заданной матрици, которые лежат в указаном диапазоне переместить в начало...

Все отрицательные элементы массива перенести в начало, а все остальные — в конец
Преобразовать массив Х по следующему правилу: все отрицательные элементы массива перенести в начало, а все оствальные - в конец, сохраняя...

Все отрицательные элементы массива X перенести в его начало, а все остальные — в конец
1) Дано натуральное n. Написать программу вычисления значений (1/(1*2))+(1/(2*3))+...+(1/((n-1)*1)) где n больше или равен 2. ...

Составить программу, которая переносит в начало массива все положительные элементы потом все нули и затем отрицательные
пусть А- двумерный массив целых чисел размерности N*N. Составить программу, которая переносит в начало массива все положительные элементы...

Отсортировать положительные элементы матрицы по возрастанию, оставив на своих местах отрицательные элементы.
вводится массив 6*6.отсортировать положительные элементы массива по возрастанию,оставив на своих местах отрицательные элементы.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru