Перевод кода с Pascal - C (СИ)

Узнай цену своей работы

Формулировка задачи:

как записать это в си?
Листинг программы
  1. var
  2. a, b,c, d1, e1, d2, e2,d3,e3 : integer;
  3. begin
  4. readln(a, b,c);
  5. d1 := a div 10;
  6. e1 := a mod 10;
  7. d2 := b div 10;
  8. e2 := b mod 10;
  9. d3:=c div 10;
  10. e3 := c mod 10;
  11. 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)
  12. then writeln('YES')
  13. else writeln('NO')
  14. end.

Решение задачи: «Перевод кода с Pascal»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. #define QUANTITY 3
  4. #define DIVIDER 10
  5. #define REMAINDER 10
  6.  
  7. int main() {
  8.     int mainArray[QUANTITY];
  9.     int size1 = QUANTITY * 2;
  10.     int array1[size1];
  11.  
  12.     for ( int i = 0; i < QUANTITY; i++ ) {
  13.         scanf("%d", &mainArray[i]);
  14.     }
  15.  
  16.     for ( int i = 0, j = 0; i < size1; i++ ) {
  17.         if ( i < QUANTITY ) {
  18.             array1[i] = mainArray[i] / DIVIDER;
  19.             //printf("d=%d\n", array1[i]); --выводит результат по d1, d2, d3;
  20.         } else {
  21.             array1[i] = mainArray[j] % REMAINDER;
  22.             j += 1;
  23.             //printf("e=%d\n", array1[i]); --выводит результат по e1, e2, e3;
  24.         }
  25.     }
  26.  
  27.     for ( int i = 0; i < size1; i++ ) {
  28.         for ( int j = 0; j < size1; j++ ) {
  29.             if ( array1[i] == array1[j] && i != j ) {
  30.                 printf("Yes\n");
  31.                 return 0;
  32.             }
  33.         }
  34.     }
  35.     printf("No\n");
  36.  
  37.     return 0;
  38. }

Объяснение кода листинга программы

  1. Включаемые заголовочные файлы:
    • : для использования функций ввода-вывода
  2. Переменные и их значения:
    • QUANTITY: 3
    • DIVIDER: 10
    • REMAINDER: 10
    • mainArray: массив из QUANTITY элементов, который считывается значениями с помощью scanf
    • size1: размер массива array1, равный QUANTITY * 2
    • array1: массив размером size1, в который записываются результаты операций над значениями из mainArray
  3. Циклы:
    • Первый цикл for с переменной i считывает значения из mainArray и записывает их в array1
    • Второй цикл for с переменными i и j выполняет два различных действия:
      • Если i < QUANTITY, то выполняется деление значения mainArray[i] на DIVIDER и результат записывается в array1[i]
      • Если i >= QUANTITY, то выполняется остаток от деления значения mainArray[j] на REMAINDER и результат записывается в array1[i], после чего j увеличивается на 1
  4. Условие: если в массиве array1 есть повторяющиеся значения, то выводится сообщение Yes, в противном случае выводится сообщение No
  5. Вывод: в цикле for с переменной i выводятся значения из массива array1 для проверки их равенства

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут