Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/16: Рейтинг темы: голосов - 16, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 30.11.2008
Сообщений: 4

В матрице найти все числа-палиндромы

30.11.2008, 18:14. Показов 3081. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача. Дана матрица. В этой матрице найти все числа-палиндромы и сформировать из нее другую матрицу [n,3] где n – это количество палиндромов. В полученной матрице в первый столбец записать сами числа, во второй – индекс строки, а в третий – индекс столбца этих чисел.

вот код:

program eight;
const n=4;
var i,j,q:integer;
r,m,k,f:integer; {в m записываем число, которое проверяем, есть ли оно палиндромом или нет}
{f - "сигнал" палиндром\не палиндром}

a:array [1..n,1..n] of integer;
b:array [1..n*n,1..3] of integer;
begin
q:=0; {*кол-во палиндромов}

writeln('Введите массив');
for i:=1 to n do
for j:=1 to n do
begin
write('Элемент ',i,' ',j,':');
readln(a[i,j]);
end;

for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:5);
writeln;
end;

for i:=1 to n do
for j:=1 to n do
begin
m:=a[i,j];
r:=1; k:=0; f:=1;
while (m div 10)>0 do
begin
m:=m div 10;
r:=r*10;
k:=k+1;
end;

m:=a[i,j];
for i:=1 to k div 2 do
begin
if ((m div r)<>(m mod 10)) then f:=0;

m:=(m mod r) div 10;
r:=r div 100;
end;
if f=0 then
begin
q:=q+1;
b[q,1]:=a[i,j];
b[q,2]:=i;
b[q,3]:=j;
end;
end;

for i:=1 to q do
begin
for j:=1 to 3 do
write(b[i,j]:4);
writeln;
end;

readln;
end.

в чем проблема: программа выводиттолько введенный массив, а потом зависает, и массив с палиндромами не выводит
Программа нахрждения палиндрома для одного числа работает нормально, но для массива возникает вышеописанная проблема
Подскажите, пожалуйста, что не так. Заранее спасибо...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.11.2008, 18:14
Ответы с готовыми решениями:

Найти все числа-палиндромы
Среди чисел, записанных в текстовый файл, найти все числа-палиндромы, т. е. числа, значение которых не меняется при чтении их слева-направо...

Найти все числа-палиндромы, не превышающие 100
Натуральное число называется палиндромом.Если его запись читается одинаково с начала и конца (например, 4884, 393, 1).Найти все числа...

Найти все числа-палиндромы, которые не превышают 100, используя меню
Помогите зделать меню до ниже поданых програм, так чтобы с помощю меню можно было открыть текст програм и показать как он работают. а)...

1
15 / 15 / 5
Регистрация: 26.11.2008
Сообщений: 94
30.11.2008, 19:47
ОГО!!! с первого раза пошла)))

program eight;
uses crt;
const n=10;
var i,j,q,w:integer;
r,m,k,f:integer;

a:array [1..n,1..n] of integer;
b:array [1..n*n,1..3] of integer;
begin
clrscr; Randomize;
for i:=1 to n do begin
for j:=1 to n do
begin
a[i,j]:=random(500); write(a[i,j]:4);
end; writeln; end;
q:=0;
for i:=1 to n do
for j:=1 to n do
begin
m:=a[i,j];
r:=1; k:=0; f:=0;
while (m div 10)>0 do
begin
m:=m div 10;
r:=r*10;
k:=k+1;
end;

m:=a[i,j];

w:=1;
REPEAT
if ((m div r)=(m mod 10)) then f:=1;

m:=(m mod r) div 10;
r:=r div 100; w:=w+1
Until (w>(k div 2)) or (f=0);

if f=1 then
begin
q:=q+1;
b[q,1]:=a[i,j];
b[q,2]:=i;
b[q,3]:=j;
end;
end;

for i:=1 to q do
begin
for j:=1 to 3 do
write(b[i,j]:4);
writeln;
end;

readln;
end.

Добавлено через 17 минут 6 секунд
ваша ошибка была в том, что вы в цикле
for i:=1 to k div 2 do
begin
if ((m div r)<>(m mod 10)) then f:=0;

m:=(m mod r) div 10;
r:=r div 100;
end;
использовали і, а потом это значение использ. дальше b[q,1]:=a[i,j];
тоесть а[i,j] - это уже не было первоначальное число, а совсем другое,
а вторая ошибка, что if f=0 then begin, а должно быть f=1.
третяя: в указаном цикле, если например первая и последняя цифра числа не совпадают, а дальше по приближению к середине все совпадает, то число выходит палиндромом, тоесть вы судите только по 2 цифрам, которые в средине, а НАДА обеспечить условный выход из цикла, если есть какое-то несовпадение...
но в целом вы сделали не малую часть работы, что ускорило мое решение))
ЗЫ: не забудьте нажать на "Спасибо"
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2008, 19:47
Помогаю со студенческими работами здесь

Найти все числа от 1 до n которые при поднесение в квадрат дают палиндромы
Найти все числа от 1 до n которые при поднесение в квадрат дают палиндромы Пожалуйста помогите

Найти все числа-палиндромы, меньше n
8. Назовем число палиндромом, если его запись одинаково читается с начала и конца (например, 4884, 393,1). Найти все числа меньше n,

Найти целые числа палиндромы, которые при возведении в квадрат также дают палиндромы (22^2=484)
Найти целые числа-палиндромы, которые при возведении в квадрат также дают палиндромы (22^2=484) Находил решение этой задачи в инете, но...

Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы
Натуральное число называется палиндромом, если его запись читается однинакого с начала и с конца (4884, 393, 1). Найти все числа-паиндромы,...

Найти в заданном тексте, состоящем из n строк, все слова палиндромы и числа палиндромы
Сроки жутко горят :( поэтому надеюсь на вашу помощь: Задача: Найти в заданном тексте, состоящем из n строк, все слова палиндромы и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru