4 / 4 / 4
Регистрация: 06.03.2011
Сообщений: 319
|
|||||||||||
1 | |||||||||||
Дана последовательность чисел. Найти количество различных чисел в этой последовательности13.04.2011, 21:13. Показов 3342. Ответов 5
Метки нет (Все метки)
Дана последовательность чисел. Найти количество различных чисел в этой последовательности
Дана последовательность чисел. Найти количество различных чисел в этой последовательности Написала код вроде работает.прошу пощи в изменении условия...чтобы не писать эту строчку:
0
|
13.04.2011, 21:13 | |
Ответы с готовыми решениями:
5
Дана последовательность чисел. Найти количество различных чисел в этой последовательности Дана последовательность из n различных целых чисел. Найти сумму чисел этой последовательности Дана последовательность из n целых чисел. Найти количество нечетных элементов этой последовательности Дана последовательность из n целых чисел найти количество элементов этой последовательности кратных числу k |
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||
13.04.2011, 21:44 | 2 | |||||
yuliyayuliya28, Ваш код неправильно считает. Вот контрпример: допустим n равно 10, три числа одинаковые, а остальные все числа разные.
Ошибка здесь: Когда a[i] равно первому такому числу (которое повторяется), то count станет равной 1. Когда a[i] равно второму такому числу, то count станет равной 2. В итоге результат получится: "Количество различных чисел 6", а на самом деле результат должен быть равен 7. Предлагаю вариант:
1
|
4 / 4 / 4
Регистрация: 06.03.2011
Сообщений: 319
|
|
13.04.2011, 22:05 [ТС] | 3 |
Спасибо большое. единственное мне не понятно что вот это mas[10]={0}и mas[a[i]]++;???? мы из массива 11 элементов заполненных нулями делаем массив в котором элементов столько а[i]?
0
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
14.04.2011, 06:10 | 4 |
Напишу саму идею, код можете сами подредактировать (на самом деле массив a[] там не нужен, можно обойтись одной переменной типа int).
ИДЕЯ: - так как Вы работаете только с числами в диапазоне [0,9] , то заводим массив int mas[10], элементы которого изначально делаем равными 0 (для этого и пишем mas[10]={0}). Имеем: 0 1 2 3 4 5 6 7 8 9 <- индексы массива mas[] 0 0 0 0 0 0 0 0 0 0 <- значения элементов массива mas[] Теперь пошагово меняем значения этого массива. Например очередное случайное число равно 3. Тогда массив mas[] будет выглядеть так: 0 1 2 3 4 5 6 7 8 9 <- индексы массива mas[] 0 0 0 1 0 0 0 0 0 0 <- значения элементов массива mas[] Следующее очередное случайное число равно 5. Тогда массив mas[] будет выглядеть так: 0 1 2 3 4 5 6 7 8 9 <- индексы массива mas[] 0 0 0 1 0 1 0 0 0 0 <- значения элементов массива mas[] Следующее очередное случайное число равно 3. Тогда массив mas[] будет выглядеть так: 0 1 2 3 4 5 6 7 8 9 <- индексы массива mas[] 0 0 0 2 0 1 0 0 0 0 <- значения элементов массива mas[] И т.д. В конце получается, что если какое-то значение массива равно 0, то число (соответствующее этому индексу не попадалось ни разу). Если какое-то значение массива равно 1, то число попалось 1 раз. Если какое-то значение массива больше 1 .... - именно эти значения нас и интересуют.
1
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
||||||
14.04.2011, 14:47 | 5 | |||||
0
|
0 / 0 / 0
Регистрация: 08.04.2014
Сообщений: 12
|
|
23.04.2014, 19:54 | 6 |
yuliyayuliya28, А как для этой задачи применить порядок n*log(n)(необходимa сортировка)
0
|
23.04.2014, 19:54 | |
23.04.2014, 19:54 | |
Помогаю со студенческими работами здесь
6
Дана последовательность целых чисел, за которой следует 0. Найти количество четных элементов этой последовательности Дана последовательность целых чисел, за которой следует 0. Найти количество четных элементов этой последовательности. Дана последовательность целых чисел, за которой следует 0.Найти количество нечетных элементов этой последовательности. Дана последовательность целых чисел, за которой следует 0. Найти количество элементов этой последовательности, кратных числу К Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |