G
вообще всёчто именно не получается?
нужно только написать программу только под номерами 13 и 15!вообще всё
даже не знаю с чего начинать...
можете помочь написать?
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
setlocale(LC_ALL,".1251");
int k(0),n(0),len;
char s[10000];
string str;
cout<<"==========================TEXT.txt=======================\n"<<endl;
ifstream f("TEXT.txt");
if(f)
{
while(!f.eof())
{
getline(f,str);
cout<<str<<endl;
k++;
}
}
else
{
cout<<"File failed!\n";
return 0;
}
cout<<"=========================================================\n"<<endl;
FILE *in;
in=fopen("TEXT.txt","rt");
for(int i=0;i<k;i++)
{
fgets(s,80,in);
len=strlen(s);
for(int j(0);j<len;j++)
{
if((s[j]=='.')||(s[j]=='!')||(s[j]=='?'))
{
n++;
if((s[j]=='.')&&(s[j+1]=='.')&&(s[j+2]=='.'))
n=n-2;
if((s[j]=='!')&&(s[j+1]=='?'))
n--;
if((s[j+1]=='!')&&(s[j]=='?'))
n--;
}
}
}
cout<<"Колличество предложений:"<<n<<endl;
return 0;
}
}
первый файл (15 задание)
C++:#include <iostream> #include <fstream> #include <string> using namespace std; int main() { setlocale(LC_ALL,".1251"); int k(0),n(0),len; char s[10000]; string str; cout<<"==========================TEXT.txt=======================\n"<<endl; ifstream f("TEXT.txt"); if(f) { while(!f.eof()) { getline(f,str); cout<<str<<endl; k++; } } else { cout<<"File failed!\n"; return 0; } cout<<"=========================================================\n"<<endl; FILE *in; in=fopen("TEXT.txt","rt"); for(int i=0;i<k;i++) { fgets(s,80,in); len=strlen(s); for(int j(0);j<len;j++) { if((s[j]=='.')||(s[j]=='!')||(s[j]=='?')) { n++; if((s[j]=='.')&&(s[j+1]=='.')&&(s[j+2]=='.')) n=n-2; if((s[j]=='!')&&(s[j+1]=='?')) n--; if((s[j+1]=='!')&&(s[j]=='?')) n--; } } } cout<<"Колличество предложений:"<<n<<endl; return 0; } }
воспаление лёгких....Светка, скажи, а чем ты болела?
До завтра все задания ты не решишь однозначно. Неужели препод не может учесть тот нюанс что ты болела? Кстати от воспаления легких бывает что люди умирают, и тем не менее до завтра?Помогите Срочно, нужно до завтра
нет не может!До завтра все задания ты не решишь однозначно. Неужели препод не может учесть тот нюанс что ты болела? Кстати от воспаления легких бывает что люди умирают, и тем не менее до завтра?
Вобщем если болели - идите в деканат, там могут продлить сессию(нужны справки из больницы). Придирчивость препода при этом ни на что не влияет.я долго болела и не посещала занятия по С ++
...
он вообще очень строгий и придрчивый.(((
Кстати, рад что вы выздоровели, заходите на форум почаще#include <iostream> // зачем эта строчка и что она делает?
спасибо за ваш совет, но мне просто нужно сдать эти 4 работы и всё...Вобщем если болели - идите в деканат, там могут продлить сессию(нужны справки из больницы). Придирчивость препода при этом ни на что не влияет.
Зато, если Вы принесете ему задания, которые кто-то сделал за Вас - то по-любому не сможете их защитить.
Препод начнет с первой строчки, например так:
Кстати, рад что вы выздоровели, заходите на форум почаще
А еще, программа написана очень подозрительно, я бы на месте препода обязательно поинтересовался, зачем на использовать FILE, если подключен fstream. Если собираетесь сдавать этот код - то обязательно разберите этот вопрос(правильным ответом может быть, например, "экспериментировала и хотела попробовать разные способы работы с файлами")
Еще в коде не хватает вызова функций закрытия файлов/потоков. И вообще... тут больше вопросов чем ответов![]()
#include <fstream>
bool isSeparator( const char c ) {
switch( c ) {
case '.':
case '!':
case '?':
return 1;
}
return 0;
}
int main() {
char c; //файл будем считывать посимвольно
int num; //тут будем накапливать результат(количество предложений)
std ::ifstream
ifst; //входной файл
std ::ofstream
ofst; //выходной файл
ifst .open( "input.txt" );
if( 0 == ifst )
return -1;
num = 0;
c = ifst .get();
while( 0 == ifst .eof() ) {
if( 1 == isSeparator( c ) ) {
num ++;
while( 1 == isSeparator( c ) )
c = ifst .get();
}
else
c = ifst .get();
}
ifst .close();
ofst .open( "input.txt", std ::ios ::app );
if( 0 == ofst )
return -2;
ofst << std ::endl << num << " proposals in the file";
ofst .close();
return 0;
}
cпасибки.Ну раз спортом занимаешься - то конечно держи :
Код:#include <fstream> bool isSeparator( const char c ) { switch( c ) { case '.': case '!': case '?': return 1; } return 0; } int main() { char c; //файл будем считывать посимвольно int num; //тут будем накапливать результат(количество предложений) std ::ifstream ifst; //входной файл std ::ofstream ofst; //выходной файл ifst .open( "input.txt" ); if( 0 == ifst ) return -1; num = 0; c = ifst .get(); while( 0 == ifst .eof() ) { if( 1 == isSeparator( c ) ) { num ++; while( 1 == isSeparator( c ) ) c = ifst .get(); } else c = ifst .get(); } ifst .close(); ofst .open( "input.txt", std ::ios ::app ); if( 0 == ofst ) return -2; ofst << std ::endl << num << " proposals in the file"; ofst .close(); return 0; }
Добавлено: а это решение задачи о подсчете количества предложений.
По завершению подсчета информация о количестве предложений дописывается в конец файла.
Добавлено: не боксом занимаешься? )
увидите, если пройду на сборах.Светка
по телевидению тебя не увидим?
#include <fstream>
int main() {
char
c; //файл будем считывать посимвольно
int num; //тут будем накапливать результат(количество предложений)
std ::ifstream
ifst; //входной файл
std ::ofstream
ofst; //выходной файл
ifst .open( "input.txt" );
if( 0 == ifst )
return -1;
num = 0;
c = ifst .get();
while( 0 == ifst .eof() )
if( 0 == isalpha( c ) )
while( 0 == isalpha( c ) && 0 == ifst .eof() )
c = ifst .get();
else {
if( isupper( c ) ) {
c = ifst .get();
num += isupper( c );
}
if( isalpha( c ) )
while( isalpha( c ) )
c = ifst .get();
}
ifst .close();
ofst .open( "input.txt", std ::ios ::app );
if( 0 == ofst )
return -2;
ofst << std ::endl << num << " SPecial word(s) in the file";
ofst .close();
return 0;
}
спасибо большое)это тоже к первой задаче( вариант другой ), тут про СТрочные буквы
Удачи там на сборах ) Кстати, у нас добродушные преподаватели идут на встречу спортсменам, ну а спортсменкам еще более навстречу )Код:#include <fstream> int main() { char c; //файл будем считывать посимвольно int num; //тут будем накапливать результат(количество предложений) std ::ifstream ifst; //входной файл std ::ofstream ofst; //выходной файл ifst .open( "input.txt" ); if( 0 == ifst ) return -1; num = 0; c = ifst .get(); while( 0 == ifst .eof() ) if( 0 == isalpha( c ) ) while( 0 == isalpha( c ) && 0 == ifst .eof() ) c = ifst .get(); else { if( isupper( c ) ) { c = ifst .get(); num += isupper( c ); } if( isalpha( c ) ) while( isalpha( c ) ) c = ifst .get(); } ifst .close(); ofst .open( "input.txt", std ::ios ::app ); if( 0 == ofst ) return -2; ofst << std ::endl << num << " SPecial word(s) in the file"; ofst .close(); return 0; }
Добавлено: а ну да, ждем в телевизоре ) уже с нетерпением )
Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab