С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
1

Не записывать в файл строки, содержащие символы "ya"

20.10.2015, 15:56. Показов 1028. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include <iostream>
#include <fstream>
#include <string>
#include <stdio.h>
#include <vector>
#include <stdexcept>
#include <stdlib.h>
#include <conio.h>
#include <algorithm>
#include <windows.h>
using namespace std;
int main()
{
    system( "cls" );
//system("mode con cols=20 lines=5");//белый фон  синие буквы экрана
system("color F1");//белый фон  черные буквы экрана 
int wctomb(char *out, wchar_t in);
setlocale(LC_ALL,"CPUTF8");
  ifstream infile("technology.html");
  ofstream outfile("http.txt");
    std::string word;
  while ( infile >> word )
  {
//    std::cout << word << std::newl;
    for( int i = 0; i < word.length(); ++i)
      if( word[i] == 'h' and  word[i+1] == 'r') 
      { 
       outfile << word << endl; 
        break; 
      }
    }  
    ifstream infile1("http.txt");
  ofstream outfile1("http1.txt");
    while ( infile1 >> word )
  {
//    std::cout << word << std::newl;
    for( int i = 0; i < word.length(); ++i)
      if( word[i] == 'y' and  word[i+1] == 'a'  )  goto AS; 
          else 
 if( word[i] == 'h' and  word[i+1] == 't'and  word[i+2] == 't'and  word[i+3] == 'p') 
      { 
std::replace( word.begin(), word.end(),'"',' ' ); //убираем кавычки
word.erase (0, 6);//вырезаем 6 символов слева направо
   outfile1 <<word<< endl; 
      AS:
       word=" ";
        break; 
      }     
  }
  return 0;
}
Каким методом строки с символами "ya" можно убрать или не записывать в файл?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2015, 15:56
Ответы с готовыми решениями:

Считывать из текстового файла и записывать в новый файл только строки, содержащие двузначные числа
Написать программу, которая считывает из текстового файла и записывает в новый файл только строки,...

Как записывать в файл символы с пробелами?
как записывать в файл символы с пробелами? Есть структура struct sport_complex{ struct...

Вывести строки содержащие указанные символы
Задание: Напишите скрипты, решающие следующие задачи: i) Создать файлerrors.log, в который...

Удалить из строки слова, содержащие повторяющиеся символы
Дана строка, состоящая из слов. Удалить из строки слова, содержащие повторяющиеся символы. Задачу...

3
16 / 16 / 12
Регистрация: 20.04.2013
Сообщений: 64
20.10.2015, 16:08 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
#include <iostream>
#include <fstream>
#include <string>
#include <stdio.h>
#include <vector>
#include <stdexcept>
#include <stdlib.h>
#include <conio.h>
#include <algorithm>
#include <windows.h>
 
using namespace std;
 
int main()
{
    system("cls");
    //system("mode con cols=20 lines=5");//белый фон  синие буквы экрана
    system("color F1");//белый фон  черные буквы экрана
 
    int wctomb(char *out, wchar_t in);
    setlocale(LC_ALL, "CPUTF8");
 
    ifstream infile("technology.html");
    ofstream outfile("http.txt");
    std::string word;
 
    while(infile >> word)
    {
        //    std::cout << word << std::newl;
        for(int i = 0; i < word.length(); ++i)
            if(word[i] == 'h' and  word[i + 1] == 'r')
            {
                outfile << word << endl;
                break;
            }
    }
 
    ifstream infile1("http.txt");
    ofstream outfile1("http1.txt");
 
    while(infile1 >> word)
    {
        //    std::cout << word << std::newl;
        for(int i = 0; i < word.length(); ++i)
            if(word[i] == 'y' and  word[i + 1] == 'a')  goto AS;
            else
                if(word[i] == 'h' and  word[i + 1] == 't' and  word[i + 2] == 't' and  word[i + 3] == 'p')
                {
                    std::replace(word.begin(), word.end(), '"', ' '); //убираем кавычки
                    word.erase(0, 6);//вырезаем 6 символов слева направо
                    outfile1 << word << endl;
                AS:
                    word = " ";
                    break;
                }
    }
    return 0;
}
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
20.10.2015, 16:26 3
Лучший ответ Сообщение было отмечено kshyms как решение

Решение

Во-первых, переход внутрь другого if сомнителен. Во-вторых, пользуйся find().
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    while(infile1 >> word)
    {
        //    std::cout << word << std::newl;
 
        if (word.find("ya") != string::npos) continue;
 
        if(word.find("http") != string::npos)
        {
                    std::replace(word.begin(), word.end(), '"', ' '); //убираем кавычки
                    word.erase(0, 6);//вырезаем 6 символов слева направо
                    outfile1 << word << endl;
        }
    }
1
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
20.10.2015, 18:14  [ТС] 4
nmcf, Профессионал!
0
20.10.2015, 18:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2015, 18:14
Помогаю со студенческими работами здесь

Удалить из строки слова, содержащие повторяющиеся символы.
Дана строка, состоящая из слов. Удалить из строки слова, содержащие повторяющиеся символы. Ребят,...

Удалить строки из файла, содержащие определенные символы
Здравствуйте. Помогите пожалуйста реализовать. Есть файл, допустим в нём около 1 млн. строк. Мне...

Удалить из строки слова, содержащие повторяющиеся символы
Дана строка, состоящая из слов. Удалить из строки слова, содержащие повторяющиеся символы.

Ка записывать файл с новой строки?
Мне нужно чтобы каждое имя и фамилия которые я ввожу начинались с новой строки?И чтобы между именем...

Найти строки, содержащие все символы из заданной подстроки
Задача такая: Ввести массив n x m символов. Найти строки, содержащие все символы из заданной...

Записать в файл слова, содержащие в своем составе цифровые символы
Сформировать текстовый файл из произвольных слов. Затем создать новый файл, куда занести слова,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru