Упорядочить одномерный массив заданным образом, оставляя на своих местах нулевые элементы. помогите с решением

shell

PATH=./
echo -n "Enter dimension of a array:"
read n
read enter
a=0
while [ $a -lt $n ]
do
a=$[a+1]
read m$a
read enter
done
a=0
while [ $a -lt $n ]
do
a=$[a+1]
echo -n [m$a]""
done
i=1
k=0
while [ $i -lt $n ]
do
eval j=$n
k=0
while [ $j -gt $i ]
do
if [ $[m$j] -eq 0 -a $k -eq 0 ]
then
# переход к следущей итерации
:
else
if [ $[m$[j-1]] -eq 0 ]
then
k=$[k+1]
else
if [ $[m$[j-1]] -gt $[m$[j+k]] ]
then
eval temp=$[m$[j+k]]
eval m$[j+k]=$[m$[j-1]]
eval m$[j-1]=$temp
fi
k=0
fi
fi

j=$[j-1]
done
i=$[i+1]
done
# Вывод массива
echo ---------------------------
y=0
while [ $y -lt $n ]
do
y=$[y+1]
echo -n $[m$y]" "
done

Ответы:
Мда... Тут явно нужна помощь специалиста в этой области.


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.