- Транспонирование матрицы 6х6, Andrey Mitrofanov, 14:01 , 29-Апр-10 (1)
>Нужно транспонировать матрицу 6х6 в shell. >Подскажите, что нужно изменить. Предлагаю изменить постановку задачи...............
- Транспонирование матрицы 6х6, medved_1408, 14:29 , 29-Апр-10 (2)
>Предлагаю изменить постановку задачи............... Задание дал преподаватель.
- Транспонирование матрицы 6х6, Недовольный, 14:35 , 29-Апр-10 (3)
>>Предлагаю изменить постановку задачи............... >Задание дал преподаватель. Тогда учитесь делать самостоятельно
- Транспонирование матрицы 6х6, medved_1408, 14:42 , 29-Апр-10 (4)
>Тогда учитесь делать самостоятельноЯ и пытаюсь. Подсказать кто-нибудь может по делу. Может я изначально не правильно начала делать. Матрицу он мне транспонирует, но еще выводит какие-то числа.
- Транспонирование матрицы 6х6, allez, 15:28 , 29-Апр-10 (5)
>>Тогда учитесь делать самостоятельно > >Я и пытаюсь. Подсказать кто-нибудь может по делу. Может я изначально не >правильно начала делать. Матрицу он мне транспонирует, но еще выводит какие-то >числа. Подсказать? Да без проблем. Присмотритесь к переменным n, m и rows, подумайте как следует и решение задачи у вас в кармане. Кстати, откуда у вас вообще взялись эти переменные и какую функцию они выполняют? P. S. Я вот к этим переменным присмотрелся, подумал и матрица нормально транспонировалась. ;-)
- Транспонирование матрицы 6х6, medved_1408, 15:34 , 29-Апр-10 (6)
m и rows - не нужны. забыла их удалить от прежнего варианта. n - число элементов в массиве.
- Транспонирование матрицы 6х6, medved_1408, 15:41 , 29-Апр-10 (7)
Она у меня транспонируется, но с итоговой матрицей выводится еще 15 сторок с цифрами.
- Транспонирование матрицы 6х6, medved_1408, 15:58 , 29-Апр-10 (8)
Что не так с переменными. Я не знаю. Думаю над задачей уже сутки. Если бы, до чего-то умного додумалась, не стала бы писать. Помогмте!
- Транспонирование матрицы 6х6, allez, 18:03 , 29-Апр-10 (10)
>Что не так с переменными. Я не знаю. Думаю над задачей уже >сутки. Если бы, до чего-то умного додумалась, не стала бы писать. >Помогмте! Ну что с ними может быть не так? Разве что то, что две из них нафиг не нужны. Кстати, попробуйте умножить 35 (а точнее, 36) на 6, а потом посчитать количество лишних цифр в выводе вашего скрипта. И зачем вам явным образом указывать количество элементов матрицы, если известно количество столбцов (columns) и строк (как это будет по-английски - n, m или все-таки rows, а? ;-))? P. S. Впрочем, можете в мое сообщение сильно не углубляться. Вам Андрей Митрофанов уже дал исчерпывающий ответ.
- Транспонирование матрицы 6х6, Andrey Mitrofanov, 16:35 , 29-Апр-10 (9)
>rows=6 >columns=6 >n=35 >m=6 >for ((i=0;i< $n;i++)) do Непорпавимое повреждение кармы наступит немедленно: ;i<rows; >for ((j=0;j< $columns;j++)) do
- Транспонирование матрицы 6х6, medved_1408, 18:04 , 29-Апр-10 (11)
>;i<rows; тот же результат: транспонированная матрица+ 15 лишних строк. Не могу понять откуда они появляются. пробовола проверять index, что бы он не был больше 35, но на проверку(через if) выдает ошибку.
- Транспонирование матрицы 6х6, Andrey Mitrofanov, 18:21 , 29-Апр-10 (12)
Двойное, гыгыг, повреждение занесено в:unset resarray for ((i=0;i< rows;i++)) do
- Транспонирование матрицы 6х6, allez, 21:01 , 29-Апр-10 (14)
> > >>;i<rows; > > тот же результат: транспонированная матрица+ 15 лишних строк. >Не могу понять откуда они появляются. >пробовола проверять index, что бы он не был больше 35, но на >проверку(через if) выдает ошибку. М-да, как все запущено... :-) В общем, найдите энное количество отличий между вашим изначальным скриптом и этим:
$ cat matrix.sh #!/bin/bashrows=6 columns=6 # Следующие четыре строки не нужны совсем, то есть абсолютно :-) #n=35 #m=6 #export index #export tmp declare -a array1=(1 2 3 4 5 6 7 8 9 0 9 8 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 2 3 4 5 1 1 1 6 7) declare -a resarray echo "Первоначальная: " echo ${array1[*]} | xargs -n $columns for ((i=0;i< $rows;i++)) do for ((j=0;j< $columns;j++)) do let index=$i*$columns+$j let index2=$j*$columns+$i # Убрано для наглядности, чтобы вывод не загромождался лишней информацией # echo "index = $index" # echo "index2 = $index2" resarray[$index]=${array1[$index2]} done done echo "итог: " echo ${resarray[*]} | xargs -n $columns $ ./matrix.sh Первоначальная: 1 2 3 4 5 6 7 8 9 0 9 8 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 2 3 4 5 1 1 1 6 7 итог: 1 7 3 9 3 5 2 8 4 8 2 1 3 9 5 7 1 1 4 0 6 6 2 1 5 9 7 5 3 6 6 8 8 4 4 7
- Транспонирование матрицы 6х6, Andrey Mitrofanov, 18:32 , 29-Апр-10 (13)
Матрицы на баше?! Куда я попал....>rows=6 >columns=6 >n=35 >m=6 >export index >export tmp >declare -a array1=(1 2 3 4 5 6 7 8 9 0 >9 8 3 4 5 6 7 8 9 8 7 >6 5 4 3 2 1 2 3 4 5 1 >1 1 6 7) unset resarray >declare -a resarray >echo "Первоначальная: " >echo ${array1[*]} | xargs -n $columns for ((i=0;i<=n;i++)) do j=$((i/columns+i%columns*rows)) resarray[$i]=${array1[j]} done >echo "итог: " >echo ${resarray[*]} | xargs -n $columns
|