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

Считать текст из файла и вывести сначала вопросительные, а затем восклицательные предложения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Мумба-Юмба http://www.cyberforum.ru/cpp-beginners/thread401414.html
Имя входного файла: f.in Имя выходного файла: f.out Максимальное время работы на одном тесте: 1 секунда Максимальный объем используемой памяти: 64 мегабайта Слова в языке Мумба-Юмба могут состоять только из букв a, b, c, и при этом: • никогда не содержат двух букв b подряд, • ни в одном слове никогда не встречается три одинаковых подслова подряд. Например, по этому правилу в язык...
C++ подскажите решение задачи представить программу позволяющую для заданного целого короткого числа выполнить 1)перестановку младшей и старшей триады 2) перестановку младшей и старшей тетрады 3) перестановку младшей и старшей триады старшего байта 4) перестановку младшей и старшей тетрады старшего байта 5)перестановку младшей и старшей триады младшего байта 6)перестановку младшей и старшей тетрады младшего байта http://www.cyberforum.ru/cpp-beginners/thread401401.html
C++ вычислить процент
Программа, которая обрабатывает результаты экзамена Допусти ввожу кол-во студентов-10 Пятерок получили-6 чел Четверок-3 Троек-1 Двоек-0 и из этого Для каждой оценки программа должна вычислить процент от общего количества оценок. Программа должна проверить, чтобы количество оценок совпадало с количеством студентов.
C++ Нужен человек для решение задачи с++
Нужна обязательно быть завтра 08.12.2011 06.00-09.00 онлайн Московскому времени Задачи будут по тематикам struct, pointers, istream library, string, задачи будут легкие для 1 -го курса..... Одна задача -50-150 рублей в зависимости от сложности.... Оплата: webmoney Нужно решить задачу за 20-30 минут)
C++ помогите ришить задачу http://www.cyberforum.ru/cpp-beginners/thread401390.html
Предоставить программу позволяющую для заданного короткого целого числа выполнить: 1)перестановку младшей и старшей триады 2) перестановку младшей и старшей тетрады 3) перестановку младшей и старшей триады старшего байта 4) перестановку младшей и старшей тетрады младшего байта 5) перестановку младшей и старшей тетрады старшего байта 6) перестановку младшей и старшей триады младшего байта
C++ Подскажите пожалуйста, где ошибка? Всем доброго времени суток, программа по строкам, нужно найти и вывести на экран слово с максимальной длинной, слова разделены пробелами в строке. Вот написал программку, запоминаю начало и конец слова, потом считаю, насколько оно длинное, сравниваю с максимумом, если оно длиннее, то оставляю индексы начала и конца, потом от начала до конца слова вывожу строку. Подскажите пожалуйста, где ошибка,... подробнее

Показать сообщение отдельно
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311

Считать текст из файла и вывести сначала вопросительные, а затем восклицательные предложения - C++

08.12.2011, 17:34. Просмотров 481. Ответов 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
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int main()
{
        ofstream ofs("D:\\Kovi4ki.txt"); //создаём файл
        ofs << "Фраза без ковычек\"Фраза в ковычках\",без ковычек\"продолжение фразы в ковычках\""; //вводим строку с цитатами
        ofs.close(); //закрываем 
        ifstream ifs("D:\\Kovi4ki.txt");  //открываем
        if(!ifs.is_open())
        {
        cerr <<"File not found"<<endl; 
        system("pause");
        return 1;
        } 
        int i = 0;
        string s;
        while(getline(ifs,s,'\"'))//Читаем слова где есть ковычки  
        {      
                if(i%2) //деление с остатком
        cout<<s<<"\n";
                i+=1;
        }
cout <<s;
system("pause");
ifs.close(); //закрывем                
}
Добавлено через 21 час 46 минут
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
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <string> 
using namespace std;
int main(void)
{  char ch[2]; FILE * f;
  f = fopen("D:\\text2.txt","r");
  if (f != NULL)
     { 
  fseek(f,0,SEEK_END); long len = ftell(f);
  char *buf=new char[len+1];
  fseek(f,0,SEEK_SET);
  fread(buf, len,1, f); buf[len]='\0';
  long n = 0;
  long i = 0, j = 0, kol = 0;
  while(buf[i])
   { if (buf[i] == '?')
      { 
        for(j=n; j<=i;j++)
        { ch[0] = buf[j]; ch[1]='\0';
         cout <<(ch);
         } kol++;
         n = i+1;
      }
  long n = 0; 
  long i = 0, j = 0, kol = 0;
  while(buf[i])
   { if (buf[i] == '!')
      {
        for(j=n; j<=i;j++)
        { ch[0] = buf[j]; ch[1]='\0';
         cout <<(ch);
         } kol++;
         n = i+1;
      }
     if (buf[i]=='.') 
   {
    n = i+1;
    i++;
   }  
 fclose(f); 
 cout << endl;
 cout <<  "\n kol = " << kol;
 cout << endl;
 system("pause");
}
Добавлено через 17 секунд
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
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <string> 
using namespace std;
int main(void)
{  char ch[2]; FILE * f;
  f = fopen("D:\\text2.txt","r");
  if (f != NULL)
     { 
  fseek(f,0,SEEK_END); long len = ftell(f);
  char *buf=new char[len+1];
  fseek(f,0,SEEK_SET);
  fread(buf, len,1, f); buf[len]='\0';
  long n = 0;
  long i = 0, j = 0, kol = 0;
  while(buf[i])
   { if (buf[i] == '?')
      { 
        for(j=n; j<=i;j++)
        { ch[0] = buf[j]; ch[1]='\0';
         cout <<(ch);
         } kol++;
         n = i+1;
      }
  long n = 0; 
  long i = 0, j = 0, kol = 0;
  while(buf[i])
   { if (buf[i] == '!')
      {
        for(j=n; j<=i;j++)
        { ch[0] = buf[j]; ch[1]='\0';
         cout <<(ch);
         } kol++;
         n = i+1;
      }
     if (buf[i]=='.') 
   {
    n = i+1;
    i++;
   }  
 fclose(f); 
 cout << endl;
 cout <<  "\n kol = " << kol;
 cout << endl;
 system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru