Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Помогите пожалуйста


Автор: KaiseR 18.12.2005, 08:44
Здравствуйте!

Целую неделю пытаюсь написть эти программы, но ничего не получается.
Помогите пожалуйста.

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

2)Дана целочисленная квадратная матрица. Определить:
•произведение элементов в тех строках, которые не содержат отрицательных
элементов;
•максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

Автор: tigger 18.12.2005, 10:36
Выложи хотя бы что получилось!!!

Автор: KaiseR 18.12.2005, 12:19
Это для 1)

Код


#include <vcl.h>
#pragma hdrstop
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include "Unit1.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
FILE*f;
AnsiString s;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------



//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{

char buf[80];
String fName;
if (!OpenDialog1->Execute()) return;
fName=OpenDialog1->FileName;
if ((f=fopen(fName.c_str(),"rt")) == NULL)
{ShowMessage("Файл не удается открыть");
return;
}
//чтение из файла
Memo1->Clear();
while(!feof(f))
{ fgets(buf,80,f);//чтение строки в файл
//if (buf[strlen(buf)-1]=='\n')
//buf[strlen(buf)-1]=0;
Memo1->Lines->Add(buf);//запись строки в Memo
strcpy(buf,"");
}
fclose(f);


}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button2Click(TObject *Sender)
{
int i;

String fName;
if (SaveDialog1->Execute()) return;
fName=OpenDialog1->FileName;
if ((f=fopen(fName.c_str(),"wt"))==NULL)
{ShowMessage("Файл не удается создать");
return;
}
//запись в файл
for(i=0;i<Memo1->Lines->Count;i++)
{ s=Memo1->Lines->Strings[i]+"\n";
fputs(s.c_str(),f);
}
fclose(f);
ShowMessage("Данные записаны в файл");

}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button3Click(TObject *Sender)
{
int j,i ;
char SS[4];
for (j=1;(Memo1->Lines->Count)-1;j++)
SS[2]=s[2];SS[3]=s[3];SS[4]=s[4];SS[1]=s[1];
i=3;
for (i=0;i<s.Length();i++)
SS[4]=s[i];
if(!(SS[1]>'1'&& SS[1]<'9')|| !(SS[4]>'1'&& SS[4]<'9')||(SS[2]<'1'&& SS[2]>'9')||(SS[3]<'0'&& SS[3]>'9'))
{
Memo2->Lines->Add(s[j]);
}
SS[1]=s[2];SS[2]=s[3];SS[3]=s[4];
}
//-------------------------------------------

Автор: tigger 18.12.2005, 14:12
1

Автор: tigger 18.12.2005, 14:13
Задача №1

Компилятор ВС++B v.6

пример прилагаю:

smile

Автор: KaiseR 18.12.2005, 15:54
tigger ОГРАМАДНЕЙШЕЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!!!!!!!!!!!!!!!!

Если есть возможность, то помоги пожалуйста со второй задачей.

Автор: tigger 18.12.2005, 18:58
Выложи что у тебя по второй задаче есть. Мне так быстрее будет....

Автор: Гость_KaiseR 19.12.2005, 12:03
У меня только в Делфи кусок.

max := 0; //искомое максимальное значение
for s := 1 to m do begin //идем по всем строкам
i := 1; //начинаем с первого столбца
while i <= n do begin
j := i;
while (j <= n) and (w[s, j] = w[s, i]) do //пока идет серия одинаковых элементов
inc(j);
if j - i > max then begin //если серия максимальна
max := j - i; //обновляем искомое максимальное значение
maxs := s; //и номер строки, на которой он достигается
end;
i := j;
end;
end;
writeln(maxs); //выводим номер искомой строки
writeln(max); //выводим искомое максимальное значение

Автор: tigger 19.12.2005, 15:57
Лови исходник ко второй задаче...

P.S. Да на счет этого кода Делфовского что-то я так и не понял (да и не охота разбираться было) зачем он и что он делает
наверное это ты мне глаза затер... Ну да ладно это все лирика. Успехов!!!


Автор: KaiseR 22.12.2005, 12:36
СПАСИБО, Tiqqer, я ОЧЕНЬ ТЕБЕ БЛАГОДАРЕН!!!!!!!!!!!!!!!!!!!!!!!!!!!!! smile smile smile smile smile

Автор: Павлюк 27.5.2008, 21:07
Написать программу, которая считывает английский текст из файла и выводит
его на экран, заменив каждую первую букву слов, начинающихся с гласной буквы,
на прописную.

Добавлено через 1 минуту и 3 секунды
Помогите с задачей!!!Пожалуйста!!!!
Написать программу, которая считывает английский текст из файла и выводит
его на экран, заменив каждую первую букву слов, начинающихся с гласной буквы,
на прописную.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)