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

задание по рекурсии - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Упорядочить строки массива в соответствии с ростом характеристики строки http://www.cyberforum.ru/cpp-beginners/thread96175.html
Кто знает как решить радачу помогите please. Для заданного двумерного массива из n строк и m столбцов: Упорядочить строки массива в соответствии с ростом характеристики строки. Характеристикой строки считать сумму её положительных чётных элементов.
C++ Одна на тему: Символы и рядки Помогите в решении задачи, а то я застопорился немного.Вот условие 1. Задана строка, среди символов которого есть как минимум одна запятая. Найти номер последней по порядку запятой. Заранее благодарен!!!! http://www.cyberforum.ru/cpp-beginners/thread96173.html
что не так? C++
#include <iostream.h> #include <conio.h> #include <string.h> #include <stdlib.h> class students { int i,kil,j; char name,fath,group,tel,zalik,fam; char *f; public:
Работа со строками C++
Задача №1 Удалить лишние пропуски в введенной строке символов. Задача №2 Посчитать частоту появления букв в строке, если считать ровными буквы в верхнем и нижнем регистре. Задача№3 В строке слов все слова, которые состоят из четырех букв, удалить, а слова, которые состоят из пяти букв, заменить словом «сурок». Задача№4 В строке слов из букв латинского алфавита найти слова, в которых нет...
C++ выделить слово в тексте http://www.cyberforum.ru/cpp-beginners/thread96072.html
Задан текст Си - программы (у входном файле или массиве символов). Найти (выделить другим цветом или подчеркнуть) служебные слова Си. Использовать функцию strtok().
C++ свой strcpy() кто может написать или показать, или подсказать код к функции либы стринг.н - strcpy() я уже замучался искать правильный вариант, 3 часа ночи, завтра вставать в 6:00, сжальтесь ктонить, дайте код нуждающемуся) подробнее

Показать сообщение отдельно
maxlennon
1 / 1 / 0
Регистрация: 21.12.2008
Сообщений: 8
17.02.2010, 20:00  [ТС]     задание по рекурсии
спасибо. я щас попытаюсь написать текст. поможете мне потом его доработать?

Добавлено через 21 час 4 минуты
Путём долгих мучений я вникла в задание.

Задание: Построить синтаксический анализатор для понятия "скобки".

скобки::=А | скобка скобки
скобка::=( B скобки)


То есть возможны корректные варианты:
A
(BA)
(BA)A
и всевозможное чередование этих трёх выражений.

некорректные выражения таковы:
  1. Пусто
  2. присутствуют лишнме символы - Z!345c и тд
  3. Спереди строки не могут стоять - B и закрывающая скобка ')'
  4. Когда конструкция незакончена - ( или (B
  5. Потеря части - (B)

получился такой текст: помогите его отредактировать и дополнить. Так чтобы программа анализировала символы из файла и выводила результат в другой файл. результат - это правильные последовательности + ошибки.
Да, ещё я попыталась сделать чтобы программа будущая игнорировала пробелы и переходы на новую строку.

очень надеюсь на вашу помощь с текстом программы.


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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 #include <iostream.h>
 #include <stdio.h>
 #include conio.h>
 
 void Error(int N)
 
 { switch (N)                                          //переключатель ошибок (надо как то реализовать вывод ошибок в файл)
    {
    case 1;
    cout<<"nycTo"<<endl;
    case 2;
    cout<<"HedonycTumblU cumBoJl"<<endl;
    case 3;
    cout<<"CnepeDu He mogeT 6blTb: ),B"<<endl;
    case 4;
    cout<<"HeT Круглой скобки"<<endl;
    case 5;
    cout<<"nocJle kpyrJlou cko6ku Het B"<<endl;
    case 6;
    cout<<"notep9 4actu - (B)"<<endl;           //также ещё другие подобные некорректные ситуации
 
     }
  }
 
 Fsteam F;                      //Входной файл из которого всё читается
 int Round ()                       //фунцкция анализа скобок
 
 {
  char S; F>>S; int D=0; int k
    if(F eof())
       {
        Error(z);
        cout<<"BHytPu ()";
        }
     else 
      {
    if(S=='(') D=1;
    else
    if(S=='B') D=1;
    else
    if(S=='A') D=1;
    else
    if(S==')') D=1;                 //не знаю как это записать. надо как то поместить сюда Error
    
     
     }
    return D;
  } 
 
 int Bracket()                      //функция запуска
 {
  char S; F>>S; int D=0
  switch (S)
    {
      case 'A': case '(' ; D=Round(); break;
      case '(' ; D=Round(); break;
       }
    default; Error()
   }
 
  void main()
  {
    F open();
    char S; F.sets(skipws)              //пропуск пробелов и переходов  
    F>>S;
    if(F.eof( ) ) Error()
    else
    {
      F.seekg(ios::beg);
      D=Bracket();
      if(D) cout<<"A";
     
        }
   }
Добавлено через 1 час 55 минут
неужели некто мне не хочет помочь
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru