Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Помогите составить программу для Паскаля ABC, пожалуйста (http://www.tehnari.ru/f43/t59723/)

Оля7869 13.11.2011 15:19

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

Спасибо большое!

Vladimir_S 13.11.2011 15:34

Цитата:

Сообщение от Оля7869 (Сообщение 616970)
симметрические последовательности

А кто это такие? Ни я, ни даже, как оказалось, Интернет этого не знаем.

Оля7869 13.11.2011 15:38

Вот и я незнаю.....:tehnari_ru_121:

Vladimir_S 13.11.2011 15:44

Цитата:

Сообщение от Оля7869 (Сообщение 616980)
Вот и я не знаю...

Подозреваю, что речь идет о строках, элементы которых образуют "палиндромы", типа:
2 5 1 0 7 0 1 5 2
Ладно, посмотрю, но не сейчас, а ближе к вечеру.
Но предупреждаю сразу - у меня нормальный Turbo Pascal, и за глюки да взбрыки этого бредового АВС я не отвечаю.

Vladimir_S 13.11.2011 21:29

Ну вот, как обещал - возможный вариант решения:
Код:

CONST
 N=9;
TYPE
 Vector=Array[1..N] of Integer;
VAR
 A:Array[1..N] of Vector;
 i,j,p:Integer;

Function Tst(V:Vector):Boolean;
var
 k:Integer;
 b:boolean;
begin
 k:=0;
 b:=true;
 repeat
  Inc(k);
  if V[k]<>V[N-k+1] then b:=false;
 until (Not(b)) or (k=(N div 2));
 Tst:=b;
end;

BEGIN
 Randomize;
 For i:=1 to N do
  begin
  For j:=1 to N do
    A[i][j]:=50-Random(100);
  If (i=1) or (i=N-1) then
    For j:=1 to (N div 2) do
    A[i][N-j+1]:=A[i][j];
  For j:=1 to N do
    write(A[i][j]:4);
  Writeln;
  end;
 Writeln;
 p:=0;
 Writeln('Line numbers:');
 For i:=1 to N do
  If Tst(A[i]) then
  begin
    write(i:4);
    Inc(p);
  end;
 If p=0 then write('No such lines!');
 Readln;
END.

Здесь заведомо "палиндромами" сделаны первая и предпоследняя строки.
Константу N (размерность матрицы) можете поменять по своему вкусу.

Оля7869 13.11.2011 22:46

Спасибо большое! А ты в Турбо делал, да?!(

Vladimir_S 14.11.2011 09:43

Цитата:

Сообщение от Оля7869 (Сообщение 617195)
Спасибо большое! А ты в Турбо делал, да?!(

Ага, в нем.


Часовой пояс GMT +4, время: 19:25.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.