Quick actions

cmd+k|ctrl+k

Navigation

Languages

lab3_task1

Snippet info

Language

C

Visibility

public

Author

danylo-zaychenko-525i

Created

2023-04-04T16:22:21.594308Z

Updated

2023-04-04T16:22:21.594308Z

/**
* @file main.c
* @author Зайченко Д.І., гр. 515і
* @date 04 квітня 2023
* @brief Лабораторна робота No 3
*
* Використання масивів. Завдання 1
*/
#include <stdio.h>
#include <locale.h>
#include <limits.h>

int clean_stdin();
void check_repeated_digits(long long n, int digit_seen[]);
void output(int digit_seen[]);

int main() {
	long long n; 
	int digit_seen[10] = { 0 };
	char c;
	setlocale(LC_ALL, "Ukr");
	
	printf("Введiть цiле число максимум з 18 цифр\n");
	printf("iнакше програма виконається з непередбачуваним результатом\n");
	//цикл для перевірки коректності введення
	do {
		printf("Введiть число: ");
	} while
		(((scanf("%lld%c", &n, &c) != 2 || c != '\n')  && clean_stdin()));
	
	
	check_repeated_digits(n,digit_seen); 
	output(digit_seen);
	
	return 0;
}
//функція перевірки цифр на повторення
void check_repeated_digits(long long n, int digit_seen[]) {

	if (n < 0)
		n *= -1;
	//тимчасова змінна яка містить цифру
	int digit;
	//цикл перевірки цифр на повторення
	while (n > 0) {
		digit = n % 10;

		digit_seen[digit] += 1;
		n /= 10;
	}

}
//функція виведення інформації про повторення
void output(int digit_seen[]) {
	int check = 1;
	for (int i = 0; i < 10; i++) {
		if (digit_seen[i] > 1) {
			printf("Цифра %d повторюється %d разiв\n", i, digit_seen[i]);
			check = 0;
		}
	}
	if (check)
		printf("В цьому числi цифри не повторюються");
}

int clean_stdin() {
	while (getchar() != '\n');
	return 1;
}
INFO