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

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

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

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

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

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

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

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

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

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

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
526 / 516 / 35
Регистрация: 13.03.2011
Сообщений: 713
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 уже всё элегантно написал:good::bravo:

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

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

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

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


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

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

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