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

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

Войти
Регистрация
Восстановить пароль
 
Valya
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 14
#1

Записать в файл B, те строки файла A и их номера, в которых заданный символ p не встречался ни разу - C++

08.12.2012, 19:28. Просмотров 368. Ответов 4
Метки нет (Все метки)

Дан файл А. Записать в файл B, те строки и их номера, в которых заданный символ p не встречался ни разу.

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
#include "stdafx.h"
#include <istream>
#include <fstream>
using namespace std;
 
int poisk (char a[])                  // Функция проверяющая, есть и в сторке символ p.
   {for (int i=0; a[i]!='\0'; i++)    // если нет возвращаем 1,если есть 0.
       { if (a[i]!='p')
         {return 1;}}
       return 0;}
 
 
int _tmain(int argc, _TCHAR* argv[])
{ {char a[100];
  ifstream fin;
  ofstream fout;
      fin.open( "A.txt")
      fout.open( "B.txt")
  while (!fin.eof())
  {fin.getline (a,100)
   if (poisk (a)==1)
   fout<< a<< endl;
   }
  fin.close();
  fout.close();}
    return 0;
}
появляется вот такая ошибка:
error C1083: не удается открыть файл предкомпилированный заголовок: Debug\zadacha.pch: No cush file or directory
в чем может быть проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 19:28     Записать в файл B, те строки файла A и их номера, в которых заданный символ p не встречался ни разу
Посмотрите здесь:

C++ Считать из этого файла какой-либо символ и записать этот символ в новый файл
Записать в третий файл только те пары чисел, в которых число из первого файла меньше соответствующего числа из второго файла. C++
Заменить отрицательные элементы суммой номера столбца и номера строки, в которых они находятся C++
Заменить в каждой сроке один заданный символ на другой заданный символ C++
В новый файл записать данные, номера которых с 5-го по 10-й C++
Считать последний символ файла. Записать символ в конец файла C++
Поменять в введенном с клавиатуры строке символов подряд заданный символ на другой заданный символ C++
C++ Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла
Записать в перевернутом виде строки файла F в файл G C++
Вывести строки, в которых символ «*» встречается не менее 2 раз и заменить символ «*» на символ «_» C++
Записать в файл list (очередь) объектов, в которых содержатся строки string, и считать с файла обратно в list C++
Записать в перевернутом виде строки файла f в файл g C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
atom
3 / 3 / 0
Регистрация: 19.05.2012
Сообщений: 15
08.12.2012, 20:38     Записать в файл B, те строки файла A и их номера, в которых заданный символ p не встречался ни разу #2
ругается скорее всего на это

#include "stdafx.h"

Кроме этого у Вас по тексту есть ошибки типа отсутствия точки запятой.

Работоспособность не проверял, но компилится без ошибок вот такой вариант:

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
#include <istream>
#include <fstream>
using namespace std;
 
int poisk (char a[])                  // Функция проверяющая, есть и в сторке символ p.
   {for (int i=0; a[i]!='\0'; i++)    // если нет возвращаем 1,если есть 0.
       { if (a[i]!='p')
         {return 1;}}
       return 0;}
 
 
int main()
{ {char a[100];
  ifstream fin;
  ofstream fout;
      fin.open( "A.txt");
      fout.open( "B.txt");
  while (!fin.eof())
  {fin.getline (a,100);
   if (poisk (a)==1)
   fout<< a<< endl;
   }
  fin.close();
  fout.close();}
    return 0;
}
Valya
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 14
08.12.2012, 20:57  [ТС]     Записать в файл B, те строки файла A и их номера, в которых заданный символ p не встречался ни разу #3
спасибо за ошибки.
но если убрать дерективу появляесться вот такая ошибка:

error C1010: непредвиденный конец файла во время пойска предкомпилированниго заголовка. Возможно, вы забыли добавить дерективу "#include "stdafx.h"" в источник.

а если не убирать, как ранее описанная:
error C1083: не удается открыть файл предкомпилированный заголовок: Debug\zadacha.pch: No cush file or directory

Добавлено через 11 минут
Цитата Сообщение от atom Посмотреть сообщение
ругается скорее всего на это

#include "stdafx.h"

Кроме этого у Вас по тексту есть ошибки типа отсутствия точки запятой.

Работоспособность не проверял, но компилится без ошибок вот такой вариант:

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
#include <istream>
#include <fstream>
using namespace std;
 
int poisk (char a[])                  // Функция проверяющая, есть и в сторке символ p.
   {for (int i=0; a[i]!='\0'; i++)    // если нет возвращаем 1,если есть 0.
       { if (a[i]!='p')
         {return 1;}}
       return 0;}
 
 
int main()
{ {char a[100];
  ifstream fin;
  ofstream fout;
      fin.open( "A.txt");
      fout.open( "B.txt");
  while (!fin.eof())
  {fin.getline (a,100);
   if (poisk (a)==1)
   fout<< a<< endl;
   }
  fin.close();
  fout.close();}
    return 0;
}

а как написать что бы, она искала не только строки, но и записывала номера этих строк?
atom
3 / 3 / 0
Регистрация: 19.05.2012
Сообщений: 15
09.12.2012, 18:27     Записать в файл B, те строки файла A и их номера, в которых заданный символ p не встречался ни разу #4
Q: Как избавится от генерации PCH-файлов
A: В свойствах проекта для файлов выставить "Not Using Precompiled Headers" или "Automatically Generate"

Q: Где находятся эти опции
A: VS6: Project settings -> C/C++ -> Precompiled Headers
VS.NET: Configuration Properties -> C/C++ -> Precompiled Headers

Q: Я настроил компиляцию DEBUG-версии на отказ использования PCH, но при компиляции RELEASE ошибка опять возникла.
A: Project setting для DEBUG/RELEASE представляю разные сущности. См. пред. пункт Q/A и настрой все для RELEASE-конфигурации.

Добавлено через 20 часов 6 минут

Добавлено через 15 минут
вот рабочий вариант с указанием номера строки

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 <istream>
#include <fstream>
using namespace std;
 
int poisk (char a[]){                  // Функция проверяющая, есть и в сторке символ p.
    for (int i=0; a[i]!='\0'; i++){    // если нет возвращаем 1,если есть 0.
        if (a[i]=='p') return 1;
    }
    return 0;
}
 
 
int main(){
    char a[100];
    int num_str = 1;
    ifstream fin;
    ofstream fout;
    fin.open("A.txt");
    fout.open("B.txt");
    while (!fin.eof()){
        fin.getline(a, 100);
        if (poisk(a)) fout<<a<<' '<<num_str<<endl;
        num_str++;
        }
    fin.close();
    fout.close();
    return 0;
}
проверено в codeblocks.
Valya
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 14
09.12.2012, 20:13  [ТС]     Записать в файл B, те строки файла A и их номера, в которых заданный символ p не встречался ни разу #5
Код
if (poisk(a))
спасибо большое, все работает. только не хватало еще такого условия, что бы искала именно строку где нет символа "p":
Код
 if (poisk(a)==0)
Yandex
Объявления
09.12.2012, 20:13     Записать в файл B, те строки файла A и их номера, в которых заданный символ p не встречался ни разу
Ответ Создать тему
Опции темы

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