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

Файлы - C++

Восстановить пароль Регистрация
 
Настя_111
 Аватар для Настя_111
4 / 4 / 0
Регистрация: 12.05.2010
Сообщений: 159
18.05.2010, 13:49     Файлы #1
Помогите плиз
Создать текстовый файл f, содержащий любое арифметическое выражение, например, (2x+3y)*((x+y)-3(xy-4)+5). Определить, совпадает ли в нем количество открывающихся и закрывающихся скобок, если нет, то каких не хватает и сколько.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2010, 13:49     Файлы
Посмотрите здесь:

C++ Файлы
Файлы C++
Файлы C++
C++ файлы
C++ файлы
Файлы.Текстовые файлы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HDR
39 / 14 / 2
Регистрация: 11.05.2010
Сообщений: 139
18.05.2010, 21:56     Файлы #2
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
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
void main (){
 
    int i;
 
    //создает текстовый файл с выражением
    //----------------------------------------
    FILE *stream=fopen("f.txt","w");
    fprintf(stream,"2x+3y*x+y-3xy-4+5");
    fclose(stream);
    //----------------------------------------
    
 
    //читаем из файла
 
    FILE*fp=fopen("f.txt","r");
    //вычисляем размер строки в текстовом файле, который будем считывать
    fseek(fp,1,SEEK_END);
    long size=ftell(fp);
    rewind(fp);
    (int)size;
 
    //читаем в buffer
    char *buffer=(char*)calloc(size,sizeof(char));
    fscanf(fp,"%s",buffer);
    fclose(fp);
 
    int l=0; //количество скобок "("
    int r=0; //количество скобок ")"
 
    //определяем количество скобок
    for(i=0;i<size;i++){
        if(buffer[i]=='(') l++;
        if(buffer[i]==')') r++;
    }
    
    
    if(r>l){
        printf("\npravih bolshe levih na %d",(r-l));
        printf("\nlevih skobok : %d\npravih skobok: %d",l,r);
    }
 
    if(l>r){
        printf("\nlevih bolshe pravih na &d",(l-r));
        printf("\nlevih skobok : %d\npravih skobok: %d",l,r);
    }
    if(l==0 && r==0)printf("\nnet skobok voobsche");
 
    if(l==r && l!=0 && r!=0){
        printf("\nravno");
        printf("\nlevih skobok : %d\npravih skobok: %d",l,r);
    }
    
    getch();
    
}
Добавлено через 5 минут
тут сама решай как вводить выражение в программу.
Можно сразу создать файл f.txt в котором будет выражение (только в одну строку!)
программа считает, но придется из кода исключить в самом начале запись в файл
(кстати комменттами выделил "создает текстовый файл с выражением")б просто удали
эти строки и все.

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

Какой тебе нужен решай сама. Обе темы работают.
Yandex
Объявления
18.05.2010, 21:56     Файлы
Ответ Создать тему
Опции темы

Текущее время: 01:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru