Перевод кода с 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 для проверки их равенства
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д