/*
* @file lab3_1.cpp
* @author Гавалян Д.Є, гр. 515і
* @date 5 квітня 2025
* @brief Лабораторна робота № 3, варіант 19
*
* Використання масивів. Завдання 1
*/
/* Перевіряє, чи є у числі цифри, що повторюються */
#include <stdio.h>
#include <locale.h>
#include "module.h"
int check_repeated_digits(long n);
int main() {
long n;
int counts[10];
setlocale(LC_ALL, "Ukr");
printf("Введiть число: ");
scanf("%ld", &n);
if (check_repeated_digits(n))
{
printf("Є цифри, що повторюються:");
}
else
{
printf("Немає цифр, що повторюються\n");
return 0;
}
countingNumbers(n, counts);
for (int i = 0; i < 10; i++) {
if (counts[i] > 0) {
printf(" %d (%d рази),", i, counts[i]);
}
}
}
/*
* @file lab3_1.cpp
* @author Гавалян Д.Є, гр. 515і
* @date 9 квітня 2025
* @brief Лабораторна робота № 3, варіант 19
*
* Використання масивів. Завдання 1
*/
#include <stdio.h>
#include "module.h"
// Перевірка цифр, які повторюються
int check_repeated_digits(long n) {
int digit_seen[10] = { 0 };
int digit;
while (n > 0) {
digit = n % 10;
if (digit_seen[digit]) /* Якщо така цифра вже є */
break; /* то це означає, що є цифри, що повторюються */
digit_seen[digit] = 1;
n /= 10;
}
return n;
}
// Підрахунок кількості кожної цифри у числі
void countingNumbers(int n, int counts[10]) {
for (int i = 0; i < 10; i++) {
counts[i] = 0; // обнуляємо масив
}
if (n == 0) {
counts[0] = 1;
return;
}
// працюємо з кожною цифрою
while (n > 0) {
int digit = n % 10; // остання цифра
counts[digit]++; // збільшуємо лічильник
n /= 10;
}
}
#ifndef MODULE_H
#define MODULE_H
// Підрахунок кількості кожної цифри у числі
void countingNumbers(int number, int counts[10]);
// Перевіряє цифри, що повторюються
int check_repeated_digits(long n);
#endif