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

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

08.12.2009, 21:30. Показов 1817. Ответов 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
64315 / 47611 / 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
64315 / 47611 / 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
64315 / 47611 / 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
64315 / 47611 / 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
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru