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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2010, 18:35   #1
death65
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 15
Вопрос Процедуры и функции

В одномерных массивах А[1..N] и B[1..M] определить количество чисел – полиндромов ( т.е. таких, десятичная запись которых читается одинаково слева направо и справа налево.). Тот массив, где количество таких чисел больше, рассортировать по возрастанию, а другой – по убыванию.
death65 вне форума Ответить с цитированием
Старый 02.11.2010, 18:37   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

язык то какой ?
Код:
{Delphi/Pascal}
function Pal_Pas(m:Integer):boolean;
var k:integer;
     r:integer;
n:integer
begin
n:=m;
k:=0;
while N>0 do
  begin
   r:=n mod 10;
    k:=k*10+r;
    n:=n div 10;
  end;
Pal_Pas:=k=m;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 02.11.2010 в 19:20.
Mad_Cat вне форума Ответить с цитированием
Старый 02.11.2010, 18:45   #3
death65
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 15
По умолчанию

язык pascal.

Последний раз редактировалось death65; 02.11.2010 в 18:49.
death65 вне форума Ответить с цитированием
Старый 02.11.2010, 18:49   #4
death65
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 15
По умолчанию

незнаю даже как это делается непонятное задание
death65 вне форума Ответить с цитированием
Старый 02.11.2010, 19:10   #5
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Mad_Cat написал вам функцию, которая определяет, является ли число палиндромом или нет - вам остаётся лишь использовать её вместе с массивом.
_-Re@l-_ вне форума Ответить с цитированием
Старый 02.11.2010, 19:12   #6
Kingdom_Reborn
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 130
По умолчанию

вот вам набросок (не компилировал)

Код:
const
  _Max = 100;

type TArray = Array[1.._Max] of Longint;

procedure Sort(var A: TArray; const N: Integer; const V: Boolean);
var
  i, j: Integer;
  tmp: Longint;
begin
  for i := 1 to N - 1 do
    for j := i + 1 to N do
      if V then begin
        if A[i] > A[j] then begin
          tmp := A[i];
          A[i] := A[j];
          A[j] := tmp;
        end
      end
      else
        if A[i] < A[j] then begin
          tmp := A[i];
          A[i] := A[j];
          A[j] := tmp;
        end;
end;


function Check(const _x: Longint): Boolean;
var
  i: Integer;
  x, y: Longint;
begin
  x := _x;
  y := 0;
  while x <> 0 do begin
    y := y * 10 + x mod 10;
    x := x div 10;
  end;
  Check := y = _x;
end;

var
  A, B: TArray;
  i, j, N, M, q1, q2: Integer;
  tmp: Longint;
  V: Boolean;
begin
  WriteLn('Vvedite N');
  ReadLn(N);
  WriteLn('Vvedite massiv');
  for i := 1 to N do
    Read(A[i]);
  WriteLn;
  WriteLn('Vvedite M');
  ReadLn(M);
  WriteLn('Vvedite massiv');
  for i := 1 to M do
    Read(B[i]);
  q1 := 0;
  for i := 1 to N do
    if Check(A[i]) then Inc(q1);
  q2 := 0;
  for i := 1 to M do
    if Check(B[i]) then Inc(q2);
  V := q1 > q2;
  Sort(A, N, V);
  Sort(B, M, not V);
  WriteLn;
  WriteLn('A:');
  for i := 1 to N do
    Write(A[i], ' ');
  WriteLn;
  WriteLn('B:');
  for i := 1 to M do
    Write(B[i], ' ');
  WriteLn;
  ReadLn;
  ReadLn;
end.

Последний раз редактировалось Kingdom_Reborn; 02.11.2010 в 19:35.
Kingdom_Reborn вне форума Ответить с цитированием
Старый 02.11.2010, 19:13   #7
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Mad_Cat написал вам функцию, которая определяет, является ли число палиндромом или нет - вам остаётся лишь использовать её вместе с массивом.
+ дописать процедуры ввода / вывода массива
+ дописать функу высчитывающую количество палиндромов
+ процедуру сортировки по возрастанию / убыванию
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 02.11.2010, 19:52   #8
death65
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 15
По умолчанию

спасибо огромное всем!
death65 вне форума Ответить с цитированием
Старый 02.11.2010, 23:23   #9
death65
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 15
По умолчанию

а можно вот к этой программе пояснения небольшие а то мне не всё до конца понятно

Цитата:
uses crt;
const
_Max = 100;

type TArray = Array[1.._Max] of Longint;

procedure Sort(var A: TArray; const N: Integer; const V: Boolean);

var
i, j: Integer;
tmp: Longint;

begin
clrscr;
for i := 1 to N - 1 do
for j := i + 1 to N do
if V then begin
if A[i] > A[j] then begin
tmp := A[i];
A[i] := A[j];
A[j] := tmp;
end
end
else
if A[i] < A[j] then begin
tmp := A[i];
A[i] := A[j];
A[j] := tmp;
end;
end;


function Check(const _x: Longint): Boolean;
var
i: Integer;
x, y: Longint;
begin
x := _x;
y := 0;
while x <> 0 do begin
y := y * 10 + x mod 10;
x := x div 10;
end;
Check := y = _x;
end;

var
A, B: TArray;
i, j, N, M, q1, q2: Integer;
tmp: Longint;
V: Boolean;
begin
WriteLn('Vvedite N');
ReadLn(N);
WriteLn('Vvedite massiv');
for i := 1 to N do
Read(A[i]);
WriteLn;
WriteLn('Vvedite M');
ReadLn(M);
WriteLn('Vvedite massiv');
for i := 1 to M do
Read(B[i]);
q1 := 0;
for i := 1 to N do
if Check(A[i]) then Inc(q1);
q2 := 0;
for i := 1 to M do
if Check(B[i]) then Inc(q2);
V := q1 > q2;
Sort(A, N, V);
Sort(B, M, not V);
WriteLn;
WriteLn('A:');
for i := 1 to N do
Write(A[i], ' ');
WriteLn;
WriteLn('B:');
for i := 1 to M do
Write(B[i], ' ');
WriteLn;
ReadLn;
ReadLn;
end.
death65 вне форума Ответить с цитированием
Старый 03.11.2010, 23:02   #10
Kingdom_Reborn
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 130
По умолчанию

death65, ClrScr в процедуру сортировки вы зря воткнули...
Kingdom_Reborn вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
процедуры и функции Barcc Паскаль, Turbo Pascal, PascalABC.NET 2 11.06.2010 11:46
процедуры/функции vihlyaev Паскаль, Turbo Pascal, PascalABC.NET 3 07.06.2010 23:43
процедуры и функции barby-Nastya Помощь студентам 2 25.04.2010 18:46
процедуры и функции Dzhem Помощь студентам 6 27.01.2010 17:40