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

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

08.12.2009, 21:30. Показов 1802. Ответов 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
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
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
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
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
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
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
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
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
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru