Автор: wepoTWR 13.12.2009, 8:53
"Дана символьная матрица размера 4 х 5. Из последовательности её строк сформировать новую строку и определить ее длину. Проверить наличие символа ‘a’ в ней."
Мне нужно сделать программу с классом и объектами. Я ее вроде сделал:
Код
#include <vcl.h>
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
freopen("output.txt","w",stdout);
ifstream infile("input.txt");
char s[4][6],st[25],p;
int i,j,ok;
ok=0;
for(i=0;i<4;++i){
for(j=0;j<5;++j){
infile>>s[i][j];
if(s[i][j]=='a') ++ok;
}
s[i][5]=0;
}
if(ok) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
st[0]=0;
for(i=0;i<4;++i)
strcat(st,s[i]);
cout<<strlen(st);
}
Она не работает! В чем у меня ошибка?
Автор: Vago 13.12.2009, 12:18
Заголовок freopen() - в stdio.h. Надо его включить. А так, вроде, работает. Хотя, подозреваю, по заданию под "сделать ... с классом" подразумевалось написать класс "строка". Что-то по типу string в STL, только попроще, конечно.
Автор: wepoTWR 13.12.2009, 13:09
Класс "строка" это вот так:
class stroka{
public:
}
????
спс
Автор: Vago 13.12.2009, 13:48
Ну, обрамление в полагающиеся ключевые слова формально верное
Другое дело, что преподаватель ждёт в первую очередь, что Вы этот класс хорошо спроектируете и потом грамотно реализуете
Нетривиальная задача, кстати.
На http://www.codeguru.com/cpp/cpp/string/ можно поискать примеры. Или на CodeProject...
Автор: wepoTWR 13.12.2009, 20:33
Да я просто во всем этом не секу, че то по учебнику, че то спрошу и тп...
Автор: wepoTWR 14.12.2009, 18:34
Я не то скопировал
Код
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#include <cstring.h>
#include <fstream.h>
class stroka{
public:
int q=0;
const int size n=4;
const int size m=5;
char str[size];
void sone ( );
cin.getline(str,size);
ofstream ptk1("test18.txt");
cout<<"length of string is:"<<strlen(str)<<endl;
ptk1<<"length of string is:"<<strlen(str)<<endl; }
}
void stroka::sone ( ) {
if (strstr(str,"a"))
{
cout<<"a in the string"<<endl;
ptk1<<"a in the string"<<endl;
}
getch ();
}