Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2007, 00:59   #1
EVIL
 
Аватар для EVIL
 
Регистрация: 18.10.2007
Сообщений: 6
По умолчанию Проверка строки матрицы на симметричность.

Помогите пожалуйста написать лабу.
Задание таково:
Задана матрица размером NxM. Получить массив B, присвоив его k-му
элементу значение 1, если k-я строка матрицы симметрична, и значение 0в противном случае.

Короче набодяжил форму и программу до того момента, когда она будет рповерять строки матрицы и писать симметрична или нет.

Код:
unit Unit1;
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, mxarrays, Buttons;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    StringGrid1: TStringGrid;
    Label1: TLabel;
    Label2: TLabel;
    StringGrid2: TStringGrid;
    Button2: TButton;
    BitBtn1: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
const Nmax=10;
Type mat=array[1..Nmax,1..Nmax] of extended;
vek=array[1..Nmax] of extended;
var
Form1: TForm1;
A:mat;
B:vek;
N,M,i,j:integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
N:=5;   Edit1.Text:=intToStr(N);
M:=4;   Edit2.Text:=intToStr(M);
StringGrid1.RowCount:=N+1;
StringGrid1.ColCount:=M+1;
StringGrid2.RowCount:=M+1;
StringGrid1.Cells[0,0]:='   A';
StringGrid2.Cells[0,0]:='   B';
for i:=1 to N do
begin
StringGrid1.Cells[0,i]:=' i='+IntToStr(i);
StringGrid1.Cells[i,0]:=' j='+IntToStr(i);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
N:=StrToInt(Edit1.Text);
M:=StrToInt(Edit2.Text);
StringGrid1.RowCount:=N+1;
StringGrid1.ColCount:=M+1;
StringGrid2.RowCount:=M+1;
for i:=1 to N do
begin
StringGrid1.Cells[0,i]:=' i= '+IntToStr(i);
StringGrid1.Cells[i,0]:=' j= '+IntToStr(i);
end;
end;

end.
Laba4.zip
Вопрос у меня возник такой, как это записать, чтоб она смотрела и если симметрично ты выводила одно а нет то другое?
Помогите пожалуйста! Буду очень благодарен!

Цитата:
Для оформления кода использовать тег [СОDЕ][/CODE] или кнопку #(расшеренный режим). Модератор.

Последний раз редактировалось AlDelta; 22.11.2007 в 21:48.
EVIL вне форума Ответить с цитированием
Старый 22.11.2007, 21:23   #2
Abbatik
Форумчанин
 
Аватар для Abbatik
 
Регистрация: 11.11.2007
Сообщений: 136
По умолчанию

1. Склей всю строку.
Код:
 ...for i:=1 to n do begin {n-кол-во столбцов}
 s:=s+stringgrid1.cells[i,j];{j-номер строки}
 end;
{s лучше брать как глобальную переменную}
2. Проверь является ли результат симметричным.
Код:
function simmet(s:string):boolean;
var i:integer;
s1:string;
begin
s1:='';
for i:=1 to length(s) do begin
s1:=s[i]+s1;
end;
if s=s1 then siimet:=true else simmet:=false;
end;
{Функция возвращает true если строка симметрична}
3. Проверяешь.
Код:
...
if simmet(s) then b:=1 else b:=0;
...
{b-итоговый массив (по условию)}
ICQ - 446037211
Abbatik вне форума Ответить с цитированием
Старый 26.11.2007, 23:23   #3
EVIL
 
Аватар для EVIL
 
Регистрация: 18.10.2007
Сообщений: 6
По умолчанию

Спасибо огромное!!!
EVIL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C проверка размера строки challengerr Помощь студентам 2 04.08.2008 12:50
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27
матрицы chelsi Паскаль, Turbo Pascal, PascalABC.NET 13 25.04.2008 10:07
Помогите упорядочить строки матрицы по убыванию kitty Помощь студентам 1 06.12.2007 23:23
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45