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

Баланс скобок в файле - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Редактирование текстового файла http://www.cyberforum.ru/cpp-beginners/thread27980.html
Доброго времени суток. Подскажите, пожалуйста, как решить задачу: "Написать функцию, которая удаляет лишние пробелы между словами и сохраняет измененный текст в том же файле." Можно ли из файла построчно считывать информацию, редактировать строку и записывать ее обратно в файл на прежнее место?
C++ Создайте структуру – вектор Создайте структуру – вектор.Структура должна в себе содержать поинтер типа int и номер координат.Вычислить функции для : инициализировать и уничтожить вектор,ввод и замена координат,доступ к координатам,вычисление длины вектора.В функции main() посчитать для второго длину и производную последних 2-х цифр из наибольшей и наименьшей координаты,перед и после изменения одной из их координат. ... http://www.cyberforum.ru/cpp-beginners/thread27978.html
Цикл do while C++
Задача с использованием цикла do while. Не могу понять какое нужно поставить условие. #include<stdio.h> #include<conio.h> void main () { int a,y;
C++ нужно нарисовать блок-схему для программы
никак не могу нарисовать схему, помогите, кто в этом разбирается! программу я вложила
C++ Создание класса http://www.cyberforum.ru/cpp-beginners/thread27963.html
Создайте класс – вектор (в пространстве Rn ). Класс должен содержать, по крайней мере 2 члена ргivaте: количество координат и поинтер к типу long double. Количество координат должно быть статическим членом. Членами public будут методы: неявный конструктор, конструктор копирования, конструктор с параметрами для инициализации, деструктор и функции: модификации координат, доступа к координатам,...
C++ Получить вектор сумм элементов нечетных столбцов матрицы 1.В матрице вещественных чисел из 5ти строк и 4х столбцов определить кол-во положительных, отрицательных и нулевых элементов 2.Получить вектор сумм элементов нечетных столбцов матрицы 3Х7 целых чисел П.С.: помогите хоть основу написать, схему и остальное как нить наклепаю, информатичка просто баба базарная у нее хрен чтото спроосиш, бесит жутко, а еще и экзамен по информатике подробнее

Показать сообщение отдельно
Yevgenijz
11 / 11 / 1
Регистрация: 31.03.2009
Сообщений: 69
01.04.2009, 13:41     Баланс скобок в файле
примерно так
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
#define OK 0
// код успешного завершения
#include <stdio.h>
void analize(int *BALANCE,char c);
int main()
{
 const errstr[]="Баланс скобок не соблюден\n";
 const zakstr[]="Закрывающих скобок больше\n";
 int c,balans=0;
 while((c=getchar)!=EOF){ //воспользуюсь тем, что в качестве 
                                     // стандартного ввода можно использовать файл,
                                     // а не обязательно клавиатуру
   analize(&balans,(char)c);
   if(balans<0){ // ) больше
    printf(errstr);
    printf(zakstr);
    printf("Ошибка обнаружена до конца файла");
    return 3; // если не доходя до конца файла обнаружили
                //что закр. скобке не соответствует откр.
   }
 } // endwhile
 printf("файл проанализирован полностью\n");
 if(balans<0){ // ) больше
  printf(zakstr);
  printf(errstr);
  return 1; // если дойдя до конца файла обнаружили
                //что закр. скобке не соответствует откр.
 }
 if(balans==0){
  printf("Скобки сбалансированы\n);
  return OK;}
// теперь остался случай, когда откр скобок больше
 printf(errstr);
 printf("Открывающих скобок больше");
 return 2;
}
void analize(int *BALANCE,char c)
{
#define balans (*BALANCE)
// это, чтобы было понятнее, что это баланс
// и обращаемся к нему по адресу, чтобы при изменении
// он изменился бы и в вызывающей функции
 if(c==')') {
  --balans; // если закр. скобка, уменьшаем баланс
  return;
 }
 if(c=='(') 
  ++balans; // если откр. скобка, увеличиваем баланс
// в противном случае ничего не делаем  
}
запускать, указав в команде запуска program.exe <file.txt
 
Текущее время: 23:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru