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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана целочисленная прямоугольная матрица. Определить количество строк, не содержащих ни одного нулевого элемента http://www.cyberforum.ru/cpp-beginners/thread773281.html
Доброго времени суток. Не могу решить данное задание. Проблемы непосредственно в подсчете строк. Пробовал множество вариантов, свелся примерно вот к этому, но компилятор все равно не считает, или подсчитывает неверно: #include<iostream> #include<stdlib.h> #include<time.h> #include<Windows.h> const int n=3; const int m=4; int A;
C++ Удалить элемент из списка Нужно удалить елемент из списка. Вот написал такую ф-ю. Но она почему то вылетает. Буду очень благодарен если поможете)) void del_el(Item &list) { Item *p = new Item; Item *pp = new Item; short dva=0; p = &list; do http://www.cyberforum.ru/cpp-beginners/thread773279.html
C++ прерывание, вывод числа
Здравствуйте, подскажите пожалуйста как по прерыванию от порта ввода выводить в порт вывода очередное число последовательности 0..255 ? Заранее благодарен.
Несколько минимальных элементов матрицы записать в одномнерой массив C++
Всем доброго времени суток,в общем задача состоит из нескольких этапов 1 создаем матрицу 6 на 6 2 преобразовываем её по заданному правилу 3 получаем одномерный массив с элементам матрицы,а именно последний элемент массива должен быть сумой 6 строки матрицы,а первые 5-минимальными элементами из 1 5 строки 4 преобразовываем полученный одномерный массив опять таки по заданной функции-...
C++ Переменные в функциях http://www.cyberforum.ru/cpp-beginners/thread773257.html
Разбираясь с передачей и приемом функциями различных типов данных, столкнулся с такой проблемой.Написал 2 похожие функции и стал объявлять разные типы данных.С целыми числами все нормально,а с дробными возникла проблема.При объявлении переменных типа float в этом коде #include <iostream> #include <iomanip> float OkrD (float); using namespace std; int main() { float D;
C++ Алгоритм задержки Добрый вечер. Хочу попробовать динамически выводить текст в консоли. Какой алгоритм создания задержки? Не через функцию Sleep(). подробнее

Показать сообщение отдельно
Osman
1 / 1 / 0
Регистрация: 07.10.2012
Сообщений: 16
28.01.2013, 11:55  [ТС]     Считать из текстового файла три предложения и вывести их в обратном порядке
C++
1
int _tmain(int argc, _TCHAR* argv[])
error: '_TCHAR' has not been declared

Добавлено через 18 минут
есьт еще такой вариант, но не знаю как выделить только 3, и в обратном порядке их
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
#include <stdio.h>
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
 
 char bufRus[256];
 char* Rus(char* mes)
  {  AnsiToOem(mes, bufRus);
    return bufRus;
   }
 
int main(void)
{ char ch[2]; FILE * f;
  f=fopen("D:\\1.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;
    while(buf[i])
     { if (buf[i]== '.')
        { // вывод символов вопросительного
          // предложения
          for(j=n; j<=i; j++)
           { ch[0]=buf[j]; ch[1]='\0';
             cout << Rus(ch);
            }
          n=i+1;
          i++;
        }
         if (buf[i]=='!')
         n=i+1;
       i++;
      }
     fclose(f);
    cout << endl;
  } else
      cout << "Файл  не найден!\n";
}
Добавлено через 29 минут
Рабочий вариант в С++
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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::ifstream ifs("D:\\1.txt");
    if(ifs.is_open())
    {
        std::vector <std::string> v;
        std::string tmp, delims = ".!?";
        char c;
        for(int i = 0; i < 3; ++i)
        {
            while(ifs.get(c))
            {
                 tmp += c;
                 if(delims.find(c) != std::string::npos || tmp.empty()) break;
            }
            if(tmp.empty()) break;
            v.push_back(tmp);
            tmp.clear();
        }
        std::copy(v.rbegin(), v.rend(), std::ostream_iterator<std::string>(std::cout, ";\n"));
    }
    else
    {
        std::cerr << "File not found\n";
    }
    ifs.close();
    return 0;
Как сделать теперь в С?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru