Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
tem16ch
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 5
#1

Преобразовать массив, расположив вначале его отрицательные, а затем неотрицательные элементы... - Matlab

05.06.2013, 16:58. Просмотров 770. Ответов 4
Метки нет (Все метки)

Ребята помогите решить пожалуйста,очень нужно

Преобразовать массив X, расположив вначале его отрицательные, а затем неотрицательные элементы, сохранив при этом в группе отрицательных элементов их исходный относительный порядок, а в группе неотрицательных элементов изменив его на обратный. Определить, как при этом изменилось положение минимального по модулю элемента массива X. Буферный массив не использовать.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 16:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Преобразовать массив, расположив вначале его отрицательные, а затем неотрицательные элементы... (Matlab):

В одномерном массиве заменить нулём все отрицательные элементы, предшествующие его максимальному элементу.
В одномерном массиве заменить нулём все отрицательные элементы, предшествующие...

В одномерном массиве заменить нулём все отрицательные элементы, предшествующие его максимальному элементу. (с нюансами)
В общем указания к этой задаче: Задать в сценарии все исходные данные и...

Массив: Найти сумму S положительных элементов массива, все отрицательные элементы удвоить.
Здравствуйте, помогите пожалуйста написать программу для 13 варианта, буду...

Преобразовать массив, расположив сначала отрицательные, затем положительные, а затем нулевые элементы
Помогите сделать программу где нужно : Преобразовать массив, расположив...

Список: расположить вначале неотрицательные элементы, затем отрицательные
Преобразовать исходный список, расположив вначале неотриц. элементы, затем...

Дан массив. Вывести на экран сначала его неотрицательные элементы, затем отрицательные
1)Дан массив. Вывести на экран сначала его неотрицательные элементы, затем...

4
kav0221
97 / 97 / 24
Регистрация: 29.03.2012
Сообщений: 208
05.06.2013, 20:29 #2
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
clear all;
clc;
X=randi([-5 5],1,10)%задаем некий массив X и выводим его в командную строку
j=length(X);
k1=0;
for i=1:j
    if X(i)<0
        X=[X X(i)];
        k1=k1+1;
    end
end
k2=k1+j;
for i=1:j
    if X(i)>=0
        X=[X X(i)];
        k2=k2+1;
    end
end
X=[X(j+1:k1+j) X(k2:-1:k1+j+1)] %выводим в командную строку результат преобразования
Результат правильный, и буферный массив я не использую, но я не уверен что это решение удовлетворит вашего преподавателя.
2
tem16ch
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 5
05.06.2013, 20:57  [ТС] #3
огромное спасибо!)))
0
Sledge5
523 / 513 / 35
Регистрация: 13.03.2011
Сообщений: 711
05.06.2013, 21:24 #4
Лучший ответ Сообщение было отмечено как решение

Решение

По-Матлабовски:
Matlab M
1
2
3
4
5
X=randi([-5 5],1,10)
maxValue_index_before = find(abs(X) == min(abs(X)))
indexes = X >= 0
X = [X(~indexes) fliplr(X(indexes))]
maxValue_index_after = find(abs(X) == min(abs(X)))
3
lomt
449 / 275 / 13
Регистрация: 13.11.2012
Сообщений: 589
Записей в блоге: 1
05.06.2013, 21:33 #5
Что есть буферный массив???Вот более матлабовский вариант без циклов:
Matlab M
1
2
3
4
5
6
7
8
9
clear all
A=randi([-5 5],[1,10]);
Minimum=find(A==min(abs(A(:))));
Negativ=A(A<0);
Positive=A(A>=0);
Positive=Positive(end:-1:1);
New_massiv=cat(2,Negativ,Positive);
Minimum_new=find(New_massiv==min(abs(New_massiv(:))));
disp(New_massiv);
Добавлено через 4 минуты

Не по теме:

ууупсс Sledge5 уже всё элегантно написал

2
05.06.2013, 21:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2013, 21:33
Привет! Вот еще темы с решениями:

Дан массив. Вывести на экран сначала его неотрицательные элементы, затем отрицательные
Дан массив. Вывести на экран сначала его неотрицательные элементы, затем...

Преобразовать целочисленный массив Х, расположив в начале его четные, а затем нечетные элементы
Преобразовать целочисленный массив Х, расположив в начале его четные, а затем...

Преобразовать целочисленный массив Х, расположив в начале его четные, а затем нечетные элементы
Преобразовать целочисленный массив Х, расположив в начале его четные, а затем...

Упорядочить заданный массив, расположив в его начале все положительные элементы, затем все отрицательные
22. В одномерном массиве А(10) выполнить преобразования таким образом, чтобы в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru