Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
arreke
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 13
#1

Задача: Посчитать логические строки - C++

24.09.2012, 05:58. Просмотров 655. Ответов 0
Метки нет (Все метки)

Описание

Одна компания использует непонятный для других людей язык программирования, вот особенности этого языка:
  1. Есть 2 вида символьных строк, первый - с использованием одинарных кавычек, второй - с использованием двойных ковычек. Строка с одинарными кавычками может содержать в себе двойные кавычки, строка с двойными кавычками также может содержать в себе одинарные кавычки. Строка не может разделяться, в строке не могут быть кавычки одного типа.
  2. Есть 2 вида комментариев: Line comment с использованием символа @, и Block comment который заключается в двойные скобки (()).
  3. Block comment не имеет вложений, весь текст в Block comment игнорируется.
  4. Комментарий не может находиться в символьной строке.
  5. Все Line comment и кавычки находящиеся в Block comment не имеют смысла.
  6. Кавычки находящиеся в комментарии не имеют смысла
  7. В скрипте не должно быть символа "#", даже в символьной строке или в комментарии.
  8. Любая точка с запятой не находящаяся в комментарии или в символьной строке означает конец логической строки.

Напишите скрипт, который может читать код программы и выводить колличество логических строк и колличество физических строк, а также для незаконченных комментариев и символьных строк выводить информацию об ошибке.

Input

Вводить можно одну или несколько программ.
# означает конец каждой программы.
## означает конец ввода.

Output

Для незаконченной символьной строки напечатать "Unterminated string in line n.", где n должно быть числом.

Если программа содержит незаконченный Block comment, напечатать "Unterminated block comment at end of program."

После информации об ошибке, напечатать "Program x contains y logical lines and z physical lines.", где x, y, z должны быть соответственными числами.

Например, Input:
((Block comment)↵
"string";('another string;');@line comment↵
##↵

Output:
Program 1 contains 2 logical lines and 2 physical lines.↵


Мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int phLines=0, lgLines;
char Lines[100][256];
 
int check (int sum)
{
  lgLines = 0;
  
  // Посчитать колличество lgLines и т.д.
  
  printf("Program %d contains %d logical lines and %d physical lines.\n", sum, lgLines, phLines);
  return 0;
}
 
int main() 
{
  int sum=0;
  char str[256];
  
  do {
    scanf(" %[^\n]s", str);
    if (strcmp("##", str)==0) continue;
    if (strcmp("#", str)==0) { check(++sum); phLines=0; }
    else sprintf(Lines[phLines++], "%s", str);
  } while (strcmp("##", str)!=0);
 
  printf("\n");
  system("PAUSE");
  return 0;  
}
Застрял. Подскажите, пожалуйста, какой примерно должен быть алгоритм? На что ориентироваться?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2012, 05:58     Задача: Посчитать логические строки
Посмотрите здесь:

Записать логические выражения, используя условные операторы, операции отношений и логические операции - C++
Записать логические выражения, используя условные операторы, операции отношений и логические операции алгоритмического языка ...

Посчитать, хватит ли поросятам тугриков для подключения к компьютерной сети (задача acmp №57) - C++
Задача acmp №57 (Время: 1 сек. Память: 16 Мб Сложность: 33%): есть код, wa5 #include &lt;iostream&gt; #include &lt;cmath&gt; ...

Посчитать произведение цифр строки - C++
Помогите с задачей условия таковы: Задана символьная строка, содержащая буквы и цифры. Посчитать произведение цифр строки. Я поискал но...

Посчитать произведение цифр строки - C++
Задана символьная строка, содержащая буквы и цифры. Посчитать произведение цифр строки.

Посчитать длину введенной пользователем строки - C++
помогите решить легкую задачку пользователь вводит строку с экрана посчитать ее длину.

Посчитать Si для элементов каждой строки по формуле - C++
Дан двумерный массив а(5,3) Посчитать Si для элементов каждой строки по формуле и вывести результаты на экран: ...

Строки: посчитать количество символов без пробелов - C++
посчитать кол-во символом без пробелов.Что в этом коде не так,подскажите,пожалуйста. #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; ...

Посчитать сумму каждой нечетной строки матрицы - C++
Квадратная матрица размерностью n заполняется случайными числами в промежутках от 0 до 100. Посчитать сумму каждой нечетной строки

Посчитать сумму каждой строки матрицы отдельно - C++
Здравствуйте у меня не получается такая задача Нужно пощитать сумму каждой строки отдельно. Моя программа считает первую строку, потом...

Не могу посчитать сумму максимальных элементов каждой строки - C++
Не могу посчитать сумму максимальных элементов каждой строки. Вообще задание звучит так: В матрице действительных чисел вычислить сумму...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru