Перевести программу из Pascal в СИ - C (СИ)

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

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

Перевести программу из Pascal в СИ:
var
  s: string;
  i,count: integer;
begin
  ReadLn(s);
  count := 0;
  for i := 1 to Length(s) do
  begin
    if (s[i] = '(') and (count >= 0) then
      Inc(count);
    if s[i] = ')' then
      Dec(count);
  end;
  if count = 0 then
    WriteLn('Yes')
  else
    WriteLn('No');
  ReadLn
end.

Решение задачи: «Перевести программу из Pascal в СИ»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main() {
    char s[256];
    int count = 0;
    int i;
 
    fgets(s, sizeof(s), stdin);
 
    for (i = 0; i < strlen(s); ++i) {
        if ((s[i] == '(') && (0 <= count)) {
            count++;
        }
        else if (s[i] == ')') {
            count--;
        }
    }
 
    if (count == 0) {
        printf("Yes");
    }
    else {
        printf("No");
    }
 
    system("pause");
 
    return 0;
}

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

  1. Переменная s объявлена как массив символов с размером 256.
  2. В цикле for происходит проход по всем символам в строке s.
  3. Переменная count инициализируется нулем и используется для подсчета скобок.
  4. Если текущий символ s[i] равен ( и значение переменной count больше или равно нулю, то значение переменной count увеличивается на единицу.
  5. Если текущий символ s[i] равен ) и значение переменной count больше нуля, то значение переменной count уменьшается на единицу.
  6. После прохода по всем символам в строке s, значение переменной count проверяется на равенство нулю.
  7. Если значение переменной count равно нулю, то выводится Yes.
  8. Если значение переменной count не равно нулю, то выводится No.
  9. В конце программы вызывается функция system(pause), которая приостанавливает выполнение программы до нажатия клавиши.
  10. Программа возвращает ноль, что означает успешное завершение работы.

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


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

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

11   голосов , оценка 3.909 из 5