Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 76
1

Дана последовательность целых чисел. Найти количество различных чисел в этой последовательности

23.12.2018, 20:14. Просмотров 921. Ответов 6
Метки нет (Все метки)

Дана последовательность целых чисел. Найти количество различных чисел в этой последовательности

Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2018, 20:14
Ответы с готовыми решениями:

Дана последовательность целых чисел. Найти количество различных чисел в этой последовательности
Дана последовательность целых чисел. Найти количество различных чисел в этой последовательности....

Дана последовательность из n целых чисел. Найти количество четных элементов этой последовательности
1) Дана последовательность из n целых чисел. Найти количество четных элементов этой...

Дана последовательность целых чисел. Найти количество различных чисел в этой последовательности
Дана последовательность целых чисел. Найти количество различных чисел в этой последовательности....

Дана последовательность целых чисел. Найти количество различных чисел в этой последовательности
Дана последовательность целых чисел. Найти количество различных чисел в этой последовательности....

__________________
6
Эксперт C
25560 / 15932 / 3413
Регистрация: 24.12.2010
Сообщений: 34,867
24.12.2018, 10:35 2
По-простому как-то так
C
1
2
3
4
5
6
7
int i, j, count = 0;
for(i=0; i<n; i++) {
  for(j=i-1; j>=0; j--) {
    if (a[j]==a[i]) break;
  }
  if(j<0) count++;
}
1
287 / 219 / 101
Регистрация: 11.08.2016
Сообщений: 766
24.12.2018, 11:50 3
Flackich, или вот так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
int nums[10] = {0};
int main()
{
    char str[] = "123";
    for(int i = strlen(str); i >= 0; i--)
        if(isdigit(str[i]))
            nums[str[i]-48]++;
    for(int i = 0; i < 10; i++)
        if(nums[i] > 0)
            printf("%d = %d\n", i, nums[i]);
    return 0;
}
1
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 76
24.12.2018, 12:26  [ТС] 4
Цитата Сообщение от D3m1an Посмотреть сообщение
for(int i = strlen(str); i >= 0; i--)
* * * * if(isdigit(str[i]))
А можно без strlen и isdigit?
0
287 / 219 / 101
Регистрация: 11.08.2016
Сообщений: 766
24.12.2018, 12:33 5
Flackich, конечно можно, но это снова немного увеличить код.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int nums[10] = {0};
int main()
{
    char str[] = "123";
    
    int len = 0;
    for(int i = 0; str[i] != 0; i++)
        len++;  //нашли длинну 
    
    for(int i = len; i >= 0; i--)
        if(str[i] >= '0' && str[i] <= '9') // по ascii 
            nums[str[i]-48]++;
    for(int i = 0; i < 10; i++)
        if(nums[i] > 0)
            printf("%d = %d\n", i, nums[i]);
    return 0;
}
0
Эксперт C
25560 / 15932 / 3413
Регистрация: 24.12.2010
Сообщений: 34,867
24.12.2018, 12:48 6
D3m1an, в задаче речь идет о числах, а не о цифрах. И, как я понял, последовательность может быть такая:
1, 123, 455, 1, ...
Но главное, в вашем коде (в обоих) есть тяжелая ошибка
C
1
2
3
char str[] = "123";
 for(int i = strlen(str); i >= 0; i--)  // strlen(str) = 3
  if(isdigit(str[i])) // что такое str[3]  ?
Добавлено через 4 минуты
Впрочем, эта ошибка не так уж и тяжела. str[3] - это терминальный ноль, проверки на isdigit он не пройдет, и все закончится благополучно...
Но все-таки будьте поосторожнее с такими вещами...
1
287 / 219 / 101
Регистрация: 11.08.2016
Сообщений: 766
24.12.2018, 12:51 7
Байт, да, и впрямь возможность плохого исхода есть. Спасибо за замечание
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2018, 12:51

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Дана последовательность из n различных целых чисел. Найти сумму чисел этой последовательности
Дана последовательность из n различных целых чисел. Найти сумму чисел этой последовательности,...

Дана последовательность чисел. Найти количество различных чисел в этой последовательности
Дана последовательность чисел. Найти количество различных чисел в этой последовательности. Очень...

Дана последовательность чисел. Найти количество различных чисел в этой последовательности
Дана последовательность чисел. Найти количество различных чисел в этой последовательности Дана...

Дана последовательность из n целых чисел. Найти количество нечетных элементов этой последовательности
Ребят, не могу решить эту задачу: Дана последовательность из n целых чисел. Найти количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.