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

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

Войти
Регистрация
Восстановить пароль
 
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
#1

Подсчитать количество букв в строке - C++

08.03.2014, 09:56. Просмотров 1094. Ответов 12
Метки нет (Все метки)

Дается текстовый файл input.txt. Нужно подсчитать количество букв (из строки S), заключенных в круглые скобки и записать полученное число в файл output.txt.
Я имею представление о том, как считать строку из файла input.txt и как записать информацию в output.txt, но есть одна загвоздка - я не знаю, как посчитать количество букв, заключенных в круглые скобки. То есть середина программы пропадает!
Надеюсь на вашу помощь.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2014, 09:56     Подсчитать количество букв в строке
Посмотрите здесь:

Подсчитать количество букв в веденой строке C++
C++ Подсчитать в строке, содержащей арифметическое выражение, количество используемых цифр и букв, заменить "+" на "-", подсчитать количество действий
Подсчитать количество букв в строке C++
C++ Нужно подсчитать количество букв Т в заданой строке
Подсчитать в символьной строке количество букв C++
Строки: подсчитать количество гласных букв в строке C++
C++ Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в последнем слове
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6180 / 5783 / 1872
Регистрация: 18.12.2011
Сообщений: 14,771
Завершенные тесты: 1
08.03.2014, 10:11     Подсчитать количество букв в строке #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char str[100];
// заполняем строку...
bool StartSkobka=false;
int count=0;
for(int i=0;i<strlen(str);i++)
{
    if(str[i]==')' )
          break;
    if(StartSkobka)
          count++;
    else if(str[i]=='(')
          StartSkobka=true;
}
cout<<count;
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
10.03.2014, 06:09  [ТС]     Подсчитать количество букв в строке #3
zss, спасибо!)

Добавлено через 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
#include <fstream.h>
 
 int main()
{
  setlocale (LC_ALL, "RUS");
  char s1[255]   //ÏåðåìåГ*Г*Г*Гї áóäåò ñ÷èòûâГ*ГІГј ñòðîêó 
  ifstream in ("C:\Users\Viktor\input.txt"); //ÎòêðûâГ*ГҐГ¬ ГґГ*éë äëÿ ñ÷èòûâГ*Г*ГЁГї ГЁГ*ôîðìГ*öèè 
  in>>s1; //ñ÷èòûâГ*ГҐГ¬ ñòðîêó
 
bool StartSkobka=false;
int count=0;
for(int i=0;i<strlen(str);i++)
{
    if(str[i]==')' )
          break;
    if(StartSkobka)
          count++;
    else if(str[i]=='(')
          StartSkobka=true;
}
cout<<count;
 
  
  in.close();
  ofstream out ("C:\Users\Viktor\output.txt")
  out<<ГўГЇГЁГ±Г*ГІГј êîëè÷åñòâî ГЎГіГЄГў<<
 out.close();
 return 0;
}
zss
Модератор
Эксперт С++
6180 / 5783 / 1872
Регистрация: 18.12.2011
Сообщений: 14,771
Завершенные тесты: 1
10.03.2014, 11:56     Подсчитать количество букв в строке #4
; не забываем в конце операторов!
Строки обрамляем кавычками.
\\ надо ставить вместо \
C++
1
2
ofstream out ("C:\\Users\\Viktor\\output.txt");
  out<<"вписать количество букв "<<count<<endl;
C++
1
 ifstream in ("C:\\Users\\Viktor\\input.txt"); //Открываем файл для считывания информации
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
10.03.2014, 20:50  [ТС]     Подсчитать количество букв в строке #5
zss, спасибо большое! Сейчас опробую!
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
12.03.2014, 13:02  [ТС]     Подсчитать количество букв в строке #6
zss, программа не работает. Выдает следующую ошибку:
[Error] fstream.h: No such file or directory
Как я понял, файла fstream.h нет в библиотеке данных. Установил Microsoft Visual C - та же ошибка. Хотел скачать данный файл, но, погуглив, узнал, что fstream.h является "устаревшим достандартным файлом" и вместо него используется fstream. При этом изменяются некоторые пункты программы, например:
C++
1
ofstream in ("Путь к файлу\\news");
на
C++
1
std::ofstream fnews("news.html",ios::out|ios::binary
И, кстати, какой нужно файл подключить, чтобы программа видела команды strlen?
Ilot
Модератор
Эксперт С++
1782 / 1157 / 223
Регистрация: 16.05.2013
Сообщений: 3,047
Записей в блоге: 5
Завершенные тесты: 1
12.03.2014, 13:07     Подсчитать количество букв в строке #7
Цитата Сообщение от zaqwerty Посмотреть сообщение
И, кстати, какой нужно файл подключить, чтобы программа видела команды strlen?
cstring
http://en.cppreference.com/w/cpp/header/cstring
zss
Модератор
Эксперт С++
6180 / 5783 / 1872
Регистрация: 18.12.2011
Сообщений: 14,771
Завершенные тесты: 1
12.03.2014, 14:38     Подсчитать количество букв в строке #8
Для Visual Studio надо
C++
1
2
3
#include <iostream>
#include <cstring>
using namespace std;
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
13.03.2014, 18:25  [ТС]     Подсчитать количество букв в строке #9
Может кто-нибудь скинуть пример программы, которая считывает строку с файла и записывает ее в другой файл?
Можно еще ссылку на скачку библиотеки fstream.h, если знаете.
Очень надо
zss
Модератор
Эксперт С++
6180 / 5783 / 1872
Регистрация: 18.12.2011
Сообщений: 14,771
Завершенные тесты: 1
13.03.2014, 18:33     Подсчитать количество букв в строке #10
Начиная с VS 2008 вместо <fstream.h>
пользуемся STL:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
   ifstream if("in.txt");
   ofstream of("out.txt")
   if( !if.bad() && !of.bad())
   {
      char str[256];
      if.getline(str);
      of<<str;
   }
   system("pause");
   return 0;
}
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
15.03.2014, 07:46  [ТС]     Подсчитать количество букв в строке #11
zss, выдает при компиляции следующие ошибки:

[Error] expected unqualified-id before 'if'

[Error] expected '}' at end of input

Не могу понять, какая скобка ему в конце нужна, вроде же все нормально с ними, но меня больше волнует первая ошибка.
Вообще не ожидал, что столько проблем из-за такой задачи будет...

Добавлено через 1 час 4 минуты
У меня получилась такая программа
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
#include <iostream>
#include <fstream>
#include <cstring>
 
 
using namespace std;
int main()
{
   ifstream if("in.txt");
   ofstream of("out.txt")
   if( !if.bad() && !of.bad())
   {
      char str[256];
      if.getline(str);
      of<<str;
      bool StartSkobka=false;
int count=0;
for(int i=0;i<strlen(str);i++)
{
    if(str[i]==')' )
          break;
    if(StartSkobka)
          count++;
    else if(str[i]=='(')
          StartSkobka=true;
}
cout<<count;
 
   }
   system("pause");
   return 0;
}
Добавлено через 10 минут
В ней и ошибки
zss
Модератор
Эксперт С++
6180 / 5783 / 1872
Регистрация: 18.12.2011
Сообщений: 14,771
Завершенные тесты: 1
15.03.2014, 10:15     Подсчитать количество букв в строке #12
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ошибочка вышла с именем потока (нельзя использовать if)
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
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
   ifstream ifile("in.txt");
   ofstream of("out.txt");
   if( !ifile.bad() && !of.bad())
   {
        char str[256];
        ifile.getline(str,255);
        of<<str;
        bool StartSkobka=false;
        int count=0;
        for(int i=0;i<strlen(str);i++)
        {
            if( str[i]==')' )
                break;
            if(StartSkobka)
                count++;
            else if(str[i]=='(')
                StartSkobka=true;
        }
        cout<<count;
   }
   system("pause");
   return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2014, 13:25     Подсчитать количество букв в строке
Еще ссылки по теме:

Подсчитать количество букв, содержащихся в строке C++
C++ Подсчитать количество букв, слов и цифр в строке
Подсчитать количество гласных букв в строке C++
C++ Подсчитать количество букв в строке введённой с клавиатуры
C++ Подсчитать количество букв в строке

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

Или воспользуйтесь поиском по форуму:
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
15.03.2014, 13:25  [ТС]     Подсчитать количество букв в строке #13
zss, спасибо большое! Программа компилируется без ошибок! Сегодня, кстати, посидели с другом, он мне помог программу написать. Код такой получился:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h> 
main () { 
FILE *file, *f2;
char ch;
int a=0,i=0;
file = fopen("input.txt", "r");
f2 = fopen("output.txt", "w");
while (ch!=')')
{ ch=fgetc(file);
if (ch=='(')
a=1;
if (a==1)
if (((ch>='a') && (ch<='z')) || ((ch>='а') && (ch<='я'))) 
i=i+1;
 
};
fprintf(f2,"%d",i);
fclose(file);
fclose(f2);
return 0;
}
Yandex
Объявления
15.03.2014, 13:25     Подсчитать количество букв в строке
Ответ Создать тему
Опции темы

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