1

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include <locale.h> #include "prototypes.h" int main() { long long n; int digit_seen[10] = { 0 }; char c; setlocale(LC_ALL, "Ukr"); //цикл для перевірки коректності введення do { printf("Введiть число: "); } while (((scanf_s("%lld%c", &n, &c) != 2 || c != '\n') && clean_stdin())); check_repeated_digits(n, digit_seen); output(digit_seen); return 0; }
#include "prototypes.h" //допоміжна функція для перевірки коректності введення int clean_stdin() { while (getchar() != '\n'); return 1; } //функція перевірки цифр на повторення void check_repeated_digits(long long n, int digit_seen[]) { if (n < 0) n *= -1; //тимчасова змінна яка містить цифру int digit; //цикл перевірки цифр на повторення for (n; n > 0; n /= 10) { digit = n % 10; digit_seen[digit] += 1; } } //функція виведення інформації про повторення void output(int digit_seen[]) { int temp = 1; for (int i = 0; i < 10; i++) { if (digit_seen[i] > 1) { printf("Цифра %d повторюється %d разiв\n", i, digit_seen[i]); temp = 0; } } if (temp) printf("В цьому числi цифри не повторюються"); }
int clean_stdin(); void output(int digit_seen[]); void check_repeated_digits(long long n, int digit_seen[]);
#include "pch.h" #include "..\task1\module1.c" TEST(POSITIVE_NUMBERS, TEST1) { int n = 10201345; int digit_seen[10] = { 0 }; int expected_array[10] = { 2,2,1,1,1,1,0,0,0,0 }; check_repeated_digits(n, digit_seen); for (int i = 0; i < 10; i++) { EXPECT_EQ(expected_array[i], digit_seen[i]); } } TEST(POSITIVE_NUMBERS, TEST2) { int n = 1021581288; int digit_seen[10] = { 0 }; int expected_array[10] = { 1,3,2,0,0,1,0,0,3,0 }; check_repeated_digits(n, digit_seen); for (int i = 0; i < 10; i++) { EXPECT_EQ(expected_array[i], digit_seen[i]); } } TEST(NEGATIVE_NUMBERS, TEST1) { int n = -10201345; int digit_seen[10] = { 0 }; int expected_array[10] = { 2,2,1,1,1,1,0,0,0,0 }; check_repeated_digits(n, digit_seen); for (int i = 0; i < 10; i++) { EXPECT_EQ(expected_array[i], digit_seen[i]); } } TEST(NEGATIVE_NUMBERS, TEST2) { int n = -1021581288; int digit_seen[10] = { 0 }; int expected_array[10] = { 1,3,2,0,0,1,0,0,3,0 }; check_repeated_digits(n, digit_seen); for (int i = 0; i < 10; i++) { EXPECT_EQ(expected_array[i], digit_seen[i]); } }
Editor Settings
Theme
Key bindings
Full width
Lines