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

Найти количество симметричных строк, которые не содержат цифр

05.01.2015, 23:53. Показов 727. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Условие: Дан массив строк. Найти количество симметричных строк, которые не содержат цифр.

Мое решение:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var s:Tar; i:Tind; j,k,sum:integer; b:boolean;
for i:=1 to n do 
  readln(s[i]);
sum:=0;
for i:=1 to n do begin
  k:=0;
  b:=true;
  for j:=1 to length(s[i]) do
    if (s[i][j]>'0') and (s[i][j]<'9') then b:=false;
  if b=true then begin
    for j:=length(s[i]) downto 1 do
       if s[i][j]=s[i][n-j+1] then k:=k+1;   //  ---------------------------------    (В этой строке выдает ошибку "Индекс находился вне границ массива.")
    if (k=length(s[i])) then sum:=sum+1;                                          ////////////////////////// /////////////       (ошибка выводится только после ввода строк)
  end;
end;
writeln(sum);
end.
Что можно сделать? Подскажите пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.01.2015, 23:53
Ответы с готовыми решениями:

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

Найти в матрице количество строк, которые не содержат нулей
Найти в матрице количество строк, которые не содержат нулей var i,j,k,l,m,n,d:integer; a:array of integer; b,c:array of...

Найти количество строк в массиве, которые содержат максимум
Состязания. Если перенумеровать спортсменов числами от 0 до n-1, а попытки каждого из них – от 0 до m-1, то на вход программа получает...

2
Модератор
10430 / 5718 / 3404
Регистрация: 17.08.2012
Сообщений: 17,389
06.01.2015, 05:15
Ошибочка, не n, а length(s[i])
Pascal
10
11
12
13
14
  if b then begin
    for j:=length(s[i]) downto 1 do
       if s[i][j]=s[i][length(s[i])-j+1] then k:=k+1;
    if (k=length(s[i])) then sum:=sum+1;
  end;
Никогда, слышите, никогда не сравнивайте значение логической переменной с true или false, потому что когда Вы пишете такой индусский код, где-то умирает котёнок.
Если надо проверить переменную на истинность, пишите просто
Pascal
1
if b then
если на ложность, то пишите
Pascal
1
if not b then
Добавлено через 29 минут
Переменную b я бы применил по-другому, переменную k исключил бы за ненадобностью, а строки с 5 по 15 написал бы покороче:
Pascal
5
6
7
8
9
10
11
for i:=1 to n do begin
  for j:=1 to length(s[i]) div 2 + 1 do begin
    b := not(s[i][j] in ['0'..'9']) and s[i][j]=s[i][length(s[i])-j+1];
    if not b then break
  end;
  if b then inc(sum)
end;
Добавлено через 16 минут
Да, если учитывать строки нулевой длины, нужно добавить
Pascal
5
6
7
8
9
10
11
12
13
for i:=1 to n do begin
  if length(s[i]) = 0
    then b:=true
    else for j:=1 to length(s[i]) div 2 + 1 do begin
      b := not(s[i][j] in ['0'..'9']) and s[i][j]=s[i][length(s[i])-j+1];
      if not b then break
    end;
  if b then inc(sum)
end;
Менее оптимальный по быстродействию, но более короткий по размеру вариант последнего фрагмента:
Pascal
5
6
7
8
9
10
for i:=1 to n do begin
  b:=true;
  if length(s[i]) > 0 then for j:=1 to length(s[i]) div 2 + 1 do
    if (s[i][j] in ['0'..'9']) or s[i][j]<>s[i][length(s[i])-j+1] then b:=false;
  if b then inc(sum)
end;
1
0 / 0 / 0
Регистрация: 29.12.2014
Сообщений: 15
08.01.2015, 22:58  [ТС]
Cyborg Drone, Спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.01.2015, 22:58
Помогаю со студенческими работами здесь

Найти в матрице количество строк, которые не содержат нулей
Найти в матрице количество строк, которые не содержат нулей

Найти в матрице количество строк, которые не содержат нулей (исправить ошибки)
Program z_8; uses crt; const n=4; m=4; type din= array of integer; var a:^din; i,j,k,l,max:integer; begin

Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент
Задание: Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент. Ошибка в функции work: он ищет...

Найти количество строк текстового файла, которые содержат не менее двух записей времени HH:MM:SS
Найти количество строк текстового файла ,которые содержат не менее двух слов,являющиеся правильной записью времени HH:MM:SS using System;...

Запишите в массив номера строк массива строк, которые содержат не более двух цифр
Дан одномерный массив строк, состоящих из цифр и букв латинского алфавита. запишите в числовой массив номера строк, которые содержат не...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru