0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 11
|
|
1 | |
Отсортировать элементы строк матрицы в порядке возрастания, а строки - в порядке возрастания сумм элементов30.06.2015, 14:30. Показов 9580. Ответов 20
Метки нет Все метки)
(
Задать с клавиатуры количество целочисленных матриц. Данные получить с помощью датчика случайных чисел RANDOM. Отсортировать элементы каждой строки матрицы в порядке возрастания, а сами строки в порядке возрастания сумм их элементов.
Собственно, как сортировать - понятно. Но как задать с клавиатуры кол-во целочисленных матриц а потом еще и каждую отсортировать, не очень представляю. И вообще это без динамики реально?
0
|
|
30.06.2015, 14:30 | |
Ответы с готовыми решениями:
20
Отсортировать строки матрицы в порядке возрастания сумм их элементов
Отсортировать строки матрицы в порядке возрастания |
286 / 173 / 86
Регистрация: 19.04.2014
Сообщений: 1,095
|
|
30.06.2015, 18:28 | 2 |
Для статического массива нельзя задать размерность с клавиатуры, так как она должна быть константой.
Честно, я даже понять не могу как это вообще задать количество целочисленных матриц не динамические. Добавлено через 2 минуты Может Вам нужно присвоить значения для матриц с клавиатуры, а не количество ввести?
0
|
6718 / 2694 / 375
Регистрация: 17.02.2013
Сообщений: 3,963
|
|
30.06.2015, 18:51 | 3 |
У тебя задание немного коряво написано. Было бы написано нормально стояло бы "Отсортировать элементы каждой строки каждой матрицы в порядке возрастания". Или речь шла наоборот только об одной матрице.
Добавлено через 6 минут Но если исполнять задание формально, то можно и без динамики. Сказано X матриц, а ты все сделай в одной, только последовательно X раз, X раз ее заполняя, сортируя и выводя результаты.
1
|
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 11
|
|
30.06.2015, 20:55 [ТС] | 4 |
Ну, там был еще вариант "Задать с клавиатуры количество целых чисел". Это логичнее? Мне кажется нет. То что я поставил в шапке - это измененный вариант. Изначальный - как я написал строчкой выше.
0
|
2 / 2 / 4
Регистрация: 01.03.2015
Сообщений: 15
|
|
30.06.2015, 22:11 | 5 |
2 Sn1p3rOk
0
|
286 / 173 / 86
Регистрация: 19.04.2014
Сообщений: 1,095
|
|
30.06.2015, 23:45 | 6 |
0
|
2 / 2 / 4
Регистрация: 01.03.2015
Сообщений: 15
|
||||||
01.07.2015, 11:44 | 7 | |||||
2 Sn1p3rOk
Как вариант.
0
|
286 / 173 / 86
Регистрация: 19.04.2014
Сообщений: 1,095
|
|
01.07.2015, 19:03 | 8 |
Код не рабочий и без запуска вижу. Размер статического массива должен быть константой, иначе выдаст ошибку.
Вы вообще его проверяли? В итоге запустив, разумеется как я и говорил, выдает ошибку: "expression must have a constant value", проще говоря выражение должно иметь константное значение.
0
|
2 / 2 / 4
Регистрация: 01.03.2015
Сообщений: 15
|
|
01.07.2015, 19:22 | 9 |
0
|
286 / 173 / 86
Регистрация: 19.04.2014
Сообщений: 1,095
|
|
01.07.2015, 19:42 | 10 |
Ну может у Вас на Apple и работает каким-то образом, но на Windows у всех будет выдавать это...
0
|
286 / 173 / 86
Регистрация: 19.04.2014
Сообщений: 1,095
|
|
01.07.2015, 19:53 | 11 |
Я нашел в чем причина. В стандарте C99 введены массивы переменной длины, по этому размерность может быть не константной.
0
|
2 / 2 / 4
Регистрация: 01.03.2015
Сообщений: 15
|
|
01.07.2015, 22:06 | 12 |
2 Sn1p3rOk
Да-да. Увидел ваше сообщение, но уходил в зал, поэтому не смог ответить. На самом деле моя ошибка. А вы правы. Статичные массивы != массивы переменной длины. Статичные массивы задаются только константой. ![]() Керниган и Ричи - сила ![]()
0
|
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 11
|
||||||
02.07.2015, 23:26 [ТС] | 13 | |||||
В общем оказывается матрица одна, но размер динамический. Что ж. Матрицу я сделал. А как дальше отсортировать ее? Не выходит у меня применить сортировку пузырьком или шейкер-сортировку к данной матрице.
0
|
286 / 173 / 86
Регистрация: 19.04.2014
Сообщений: 1,095
|
||||||
03.07.2015, 01:27 | 14 | |||||
Попробуйте так...
0
|
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 11
|
|
03.07.2015, 09:36 [ТС] | 15 |
А чтобы отсортировать сами строки в порядке возрастания сумм их элементов, нужно для суммы создавать одномерный динамический массив?
0
|
Модератор
![]() ![]() ![]() ![]() 12225 / 7357 / 1730
Регистрация: 25.07.2009
Сообщений: 13,468
|
||||||
03.07.2015, 10:50 | 16 | |||||
Можно, но не обязательно.
Код
~/cpp/numbers $ gcc -o StaD_matrix StaD_matrix.c ~/cpp/numbers $ ./StaD_matrix Rows: 3 Columns: 5 Unsorted: 7 9 5 5 2 0 7 8 7 2 7 6 6 5 7 Sorted: 0 2 7 7 8 2 5 5 7 9 5 6 6 7 7 ~/cpp/numbers $
1
|
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 11
|
|
03.07.2015, 12:24 [ТС] | 17 |
Блин, очень стремный код как-то без комментариев вообще непонятно, еще библиотека для работы с датой и временем сюда затесалась. Мне бы какой-нибудь попонятнее пример, как отсороировать строчки по сумме их элементов, или алгоритм.
0
|
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 11
|
||||||
09.07.2015, 00:49 [ТС] | 18 | |||||
Пытаюсь сделать функцию сортировки строк в порядке возрастания сумм их элементов.
На данный момент остановился на этом, завершить все это не получается.
0
|
286 / 173 / 86
Регистрация: 19.04.2014
Сообщений: 1,095
|
||||||
09.07.2015, 01:41 | 19 | |||||
StaD, я не проверял ваш код на правильность, просто внес поправку на сортировку, так как у вас она не правильная.
0
|
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 11
|
|
09.07.2015, 09:57 [ТС] | 20 |
Sn1p3rOk, результат выполнения программы от этого не поменялся, + это только сортировка массива сумм, а мне нужно отсортировать сами строки в основном массиве в порядке возрастания сумм их элементов
0
|
09.07.2015, 09:57 | |
Помогаю со студенческими работами здесь
20
Отсортировать элементы матрицы, лежащие на главной диагонали, в порядке возрастания
Расположить элементы столбцов матрицы в порядке возрастания в четных столбцах, в порядке убывания - в нечетных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |