Перевод кода с Pascal - C (СИ)
Формулировка задачи:
как записать это в си?
Листинг программы
- var
- a, b,c, d1, e1, d2, e2,d3,e3 : integer;
- begin
- readln(a, b,c);
- d1 := a div 10;
- e1 := a mod 10;
- d2 := b div 10;
- e2 := b mod 10;
- d3:=c div 10;
- e3 := c mod 10;
- if (d1 = d2)or(d2 = d3)or(d1 = e2)or(d3 = e1)or(e1 = d2)or(e1 = d3)or(e1 = e2)or(e3 = e2)or(e1 = e3)
- then writeln('YES')
- else writeln('NO')
- end.
Решение задачи: «Перевод кода с Pascal»
textual
Листинг программы
- #include <stdio.h>
- #define QUANTITY 3
- #define DIVIDER 10
- #define REMAINDER 10
- int main() {
- int mainArray[QUANTITY];
- int size1 = QUANTITY * 2;
- int array1[size1];
- for ( int i = 0; i < QUANTITY; i++ ) {
- scanf("%d", &mainArray[i]);
- }
- for ( int i = 0, j = 0; i < size1; i++ ) {
- if ( i < QUANTITY ) {
- array1[i] = mainArray[i] / DIVIDER;
- //printf("d=%d\n", array1[i]); --выводит результат по d1, d2, d3;
- } else {
- array1[i] = mainArray[j] % REMAINDER;
- j += 1;
- //printf("e=%d\n", array1[i]); --выводит результат по e1, e2, e3;
- }
- }
- for ( int i = 0; i < size1; i++ ) {
- for ( int j = 0; j < size1; j++ ) {
- if ( array1[i] == array1[j] && i != j ) {
- printf("Yes\n");
- return 0;
- }
- }
- }
- printf("No\n");
- return 0;
- }
Объяснение кода листинга программы
- Включаемые заголовочные файлы:
-
: для использования функций ввода-вывода
-
- Переменные и их значения:
- QUANTITY: 3
- DIVIDER: 10
- REMAINDER: 10
- mainArray: массив из QUANTITY элементов, который считывается значениями с помощью scanf
- size1: размер массива array1, равный QUANTITY * 2
- array1: массив размером size1, в который записываются результаты операций над значениями из mainArray
- Циклы:
- Первый цикл for с переменной i считывает значения из mainArray и записывает их в array1
- Второй цикл for с переменными i и j выполняет два различных действия:
- Если i < QUANTITY, то выполняется деление значения mainArray[i] на DIVIDER и результат записывается в array1[i]
- Если i >= QUANTITY, то выполняется остаток от деления значения mainArray[j] на REMAINDER и результат записывается в array1[i], после чего j увеличивается на 1
- Условие: если в массиве array1 есть повторяющиеся значения, то выводится сообщение
Yes
, в противном случае выводится сообщениеNo
- Вывод: в цикле for с переменной i выводятся значения из массива array1 для проверки их равенства
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д