1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
|
|
1 | |
В матрице найти число с наибольшей дробной частью в каждой строке.19.09.2011, 09:14. Показов 3735. Ответов 18
Метки нет (Все метки)
Доброго утра! Всем! Вообщем требуется подсказка. Есть такая задача:
В матрице найти число с наибольшей дробной частью в каждой строке. Вообщем задаем матрицу: 2.1 2.3 2.9 3.5 1.2 2.1 1.4 1.6 4.2 3.1 3.3 3.8 7.1 6.5 6.7 6.0 Числа выделенные черным и будут искомыми числами, (это я для наглядности). И так вопрос: подскажите в какую сторону копать?
0
|
19.09.2011, 09:14 | |
Ответы с готовыми решениями:
18
Как найти число с максимальной дробной частью. В заданном массиве типа double найти число с самой большой дробной частью Вывести число с наименьшей дробной частью. Ввести 10 действительных чисел, вывести число с наименьшей дробной частью |
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
|
|
19.09.2011, 09:31 | 2 |
создаем переменную для хранения индекса числа с макс. дробной частью.(например z)
цикл по всем элементам массива. построчно просматриваем массив. сбрасываем переменную в нуль. 1. считаем дробную часть сл. числа. 2. сравниваем с дробной частью числа, которое считали максимальным до этого. 3. если дробная часть этого числа больше дробной части числа, хранящейся в переменной, то переменной присваиваем индекс текущего числа. 4. как только просмотрели всю строку выводим элемент под индексом z; легче код написать чем нормально алгоритм описать.
1
|
318 / 120 / 2
Регистрация: 15.07.2011
Сообщений: 293
|
|
19.09.2011, 09:35 | 3 |
1
|
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
|
|
19.09.2011, 09:40 | 4 |
все равно выведется первый элемент. ни кто не просил выводить несколько чисел если они все максимальны
2
|
318 / 120 / 2
Регистрация: 15.07.2011
Сообщений: 293
|
|
19.09.2011, 09:44 | 5 |
0
|
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
|
|
19.09.2011, 09:45 [ТС] | 6 |
0
|
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
|
|
19.09.2011, 09:47 | 7 |
0
|
318 / 120 / 2
Регистрация: 15.07.2011
Сообщений: 293
|
|
19.09.2011, 09:56 | 8 |
Функция floor отбросит дробную часть.
Код
Output: floor of 2.3 is 2.0 floor of 3.8 is 3.0 floor of -2.3 is -3.0 floor of -3.8 is -4.0 Первый элемент чего??? Нужно вывести максимальный для каждой строки, а если постоянно сбрасывать индекс на ноль, то для каждой строки (если все дробные части равны нулю) выведется элемент с индексом ноль.
1
|
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
|
||||||
19.09.2011, 09:57 | 9 | |||||
0
|
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
|
|
19.09.2011, 09:58 [ТС] | 10 |
0
|
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
|
|
19.09.2011, 09:59 | 11 |
построчно просматриваешь массив.
нашел максимальный элемент в строке, вывел. сбросил переменную в нуль. перешел к сл. строке.
1
|
Заблокирован
|
||||||
19.09.2011, 10:02 | 12 | |||||
Вот накидал на плюсах
Input matrix 2.1 2.3 2.9 3.5 1.2 2.1 1.4 1.6 4.2 3.1 3.3 3.8 7.1 6.5 6.7 6 max_fract part : 0.9 max_fract num : 2.9 Press any key to continue PS: - modf - разбивает вещественное на целую и дробную части
1
|
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
|
|
19.09.2011, 10:03 [ТС] | 13 |
Но ведь у макс. элемента не всегда дробная часть будет максимальная. К примеру это строка:
2.1 2.3 2.9 3.5 ....................
0
|
Заблокирован
|
||||||
19.09.2011, 10:05 | 14 | |||||
Just_dake, уже готовый алгоритм висит, компилируй...
если нужно вывод макс дробной части в каждой строке модернизируй код так
Input matrix 2.1 2.3 2.9 3.5 max_fract part in row: 0.9 max_fract num in row: 2.9 1.2 2.1 1.4 1.6 max_fract part in row: 0.6 max_fract num in row: 1.6 4.2 3.1 3.3 3.8 max_fract part in row: 0.8 max_fract num in row: 3.8 7.1 6.5 6.7 6 max_fract part in row: 0.7 max_fract num in row: 6.7 Press any key to continue
1
|
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
|
|
19.09.2011, 10:11 [ТС] | 15 |
-=ЮрА=-, спасиб Юра! Выручил, хотел на этот раз сам сделать, все равно большое спасибо!!!
0
|
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
|
||||||
19.09.2011, 10:12 | 16 | |||||
Just_dake,
1
|
318 / 120 / 2
Регистрация: 15.07.2011
Сообщений: 293
|
|
19.09.2011, 10:15 | 17 |
Код
if (x>=0) { dr=x-floor(x);//дробная часть } else { dr=x*(-1); dr=x-floor(x);//дробная часть }
1
|
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
|
|
19.09.2011, 10:17 [ТС] | 18 |
MILAN, спасиб! Еще раз всем СПАСИБО!!! За качественную и оперативную помощь!!!
0
|
318 / 120 / 2
Регистрация: 15.07.2011
Сообщений: 293
|
|
19.09.2011, 10:28 | 19 |
А на си есть frac?
Добавлено через 10 минут Фигню какую-то написал Вот так надо: Код
else * { * * dr=x*(-1); * * dr=dr-floor(dr);//дробная часть * }
1
|
19.09.2011, 10:28 | |
19.09.2011, 10:28 | |
Помогаю со студенческими работами здесь
19
Найти числа с ненулевой дробной частью Найти элемент массива со значением больше 10 с самой маленькой дробной частью В матрице найти сумму элементов кратных m в каждой строке В данной матрице найти наименьший элемент в каждой строке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |