Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 88

Определить функцию palindrom, которая дает ответ, является ли предложение без пробелов палиндромом, то есть перевертышем

22.12.2012, 21:20. Показов 2786. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано предложение (например, «довод», «деревянный», «Saippuakivikauppias», «А роза упала на лапу Азора»и т.п.). Определить функцию palindrom, которая дает ответ (вывод на экран), является ли предложение без пробелов палиндромом («перевертышем»), т.е. таким, которое читается одинаково слева направо и справа налево. Использовать операции с матрицами: конкатенацию, выделение элементов, оператор «:». Функции с/с++ работы со строками не стоит использовать

Добавлено через 22 часа 26 минут
проблема все еще актуальна. жду вашей помощи) огромная благодарность каждому, кто внес вклад в ее решение)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.12.2012, 21:20
Ответы с готовыми решениями:

Проверить, является ли строка палиндромом без учета пробелов
Дана строка, состоящая из строчных латинских букв и пробелов. Проверьте, является ли она палиндромом без учета пробелов (например,...

Проверка, является ли строка палиндромом (без учета пробелов)
Только начал работать со строками, помогите, пожалуйста Дана строка, состоящая из строчных латинских букв и пробелов. Проверьте,...

Определить, является ли данная строка палиндромом, не учитывая пробелов
Прошу помочь решить 5 задач в Free pascal-е: 3. Определить, является ли данная строка палиндромом, не учитывая пробелов(т.е. если...

9
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
22.12.2012, 22:56
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
str = 'Ш а лаш';
b = [];
for ch = str
   if ch~=' '
      b = [b ch]; % переписываем символы, кроме проболов
   end
end
b = lower(b); % сравниваем регистр
c = b; % создаем вспомогательную строку
m = length(c); % длинна строки
% отображаем начало строки в конец
c(m:-1:ceil(m/2)) = c(1:floor(m/2));
% если исходная строка палиндром, то вспомогательная строка с не должна поменяться, 
% т.е. она осталась равной b, 
%проверяем:
if strcmp(c,b) % сравниваем строки
   disp('это палиндром')
else
   disp('это не палиндром')
end
подробности будут в понедельник
0
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 88
22.12.2012, 23:14  [ТС]
ругается на строку c(m:-1:ceil(m/2)) = c(1:floor(m/2)); Error in palindrom (line 16)
c(m:-1:ceil(m/2)) = c(1:floor(m/2));
Как быть? выручайте)
0
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
22.12.2012, 23:23
Чуток переписал:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
str = 'Ш а лаш';
b = [];
for ch = str
   if ch~=' '
      b = [b ch]; % переписываем символы, кроме проболов
   end
end
b = lower(b); % сравниваем регистр
c = b; % создаем вспомогательную строку
m = length(c); % длинна строки
% отображаем начало строки в конец
for i = 1:floor(m/2)
    c(m-i+1) = c(i);
end
% если исходная строка палиндром, то вспомогательная строка с не должна поменяться, 
% т.е. она осталась равной b, 
%проверяем:
if strcmp(c,b) % сравниваем строки
   disp('это палиндром')
else
   disp('это не палиндром')
end
0
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 88
22.12.2012, 23:31  [ТС]
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function y=palindrom(word)
y=1;
% y=1 if the world is not a palindrom
% y=0 if the world is a palindrom
 
% ====================== YOUR CODE HERE STARTS ==================
b = [];
for ch = y
   if ch~=' '
      b = [b ch]; 
   end
end
b = lower(b); 
c = b; 
m = length(c);
for i = 1:floor(m/2)
    c(m-i+1) = c(i);
if strcmp(c,b) 
   y=1;
else
   y=0;
end
% ====================== YOUR CODE HERE ENDS ====================
 
if y==0 
    fprintf('The word %s is a palindrom \n', word)
else
    fprintf('The word %s is not a palindrom \n', word)
end
 
end
Я тоже чутка переделал, но на мои запросы он выдает
Matlab M
1
2
3
4
5
6
7
8
 
>> palindrom(lol)
Undefined function or variable 'lol'.
 
>> palindrom (шалаш)
 palindrom (шалаш)
           |
Error: The input character is not valid in MATLAB statements or expressions.
Я полное днище в матлабе

Добавлено через 1 минуту
а твоя версия программы, безусловно работает. очень круто. ты настоящий профи
0
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
22.12.2012, 23:59
Дружочек, строки нужно брать в прямые кавычки! (там где клавиша "э")
palindrom ('шалаш')
и это
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
if strcmp(c,b) 
   y=1;
else
   y=0;
end
% ====================== YOUR CODE HERE ENDS ====================
 
if y==0 
    fprintf('The word %s is a palindrom \n', word)
else
    fprintf('The word %s is not a palindrom \n', word)
end
можно было объединить, хотя и так работать будет
0
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 88
23.12.2012, 00:05  [ТС]
И как же быть, господа, последняя задача) Я уже измучался в попытках добиться положительного результата, но без вас я на это не способен
0
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
23.12.2012, 00:22
Заработало?
0
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 88
23.12.2012, 00:49  [ТС]
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function y=palindrom(word)
y=1;
% y=1 if the world is not a palindrom
% y=0 if the world is a palindrom
 
% ====================== YOUR CODE HERE STARTS ==================
b = [];
for ch = y
   if ch~=' '
      b = [b ch]; 
   end
end
b = lower(b); 
c = b; 
m = length(c);
for i = 1:floor(m/2)
    c(m-i+1) = c(i);
if strcmp(c,b) 
   y=1;
else
   y=0;
end
end
% ====================== YOUR CODE HERE ENDS ====================
 
if y==0 
    fprintf('The word %s is a palindrom \n', word)
else
    fprintf('The word %s is not a palindrom \n', word)
end
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
>> palindrom('lol')
The word lol is not a palindrom 
 
ans =
 
     1
 
>> palindrom('ogorod')
The word ogorod is not a palindrom 
 
ans =
 
     1
Как видите, у него все палиндром)

Добавлено через 16 минут
Все, спасибо. все сделал. все работает. еще раз спасибо за помощь
0
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
23.12.2012, 00:56
У тебя end от for уехал и в 8й строке грубая ошибка: for ch = word
Получаем:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function y=palindrom(word)
y=1;
% y=1 if the world is not a palindrom
% y=0 if the world is a palindrom
 
% ====================== YOUR CODE HERE STARTS ==================
b = [];
for ch = word
    if ch~=' '
        b = [b ch];
    end
end
b = lower(b);
c = b;
m = length(c);
for i = 1:floor(m/2)
    c(m-i+1) = c(i);
end
 
if strcmp(c,b)
    y=1;
    fprintf('The word \n %s \n is a palindrom \n', word)
else
    y=0;
    fprintf('The word \n %s \n is not a palindrom \n', word)
end
Проверяем:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
>> palindrom('lol')
The word 
 lol 
 is a palindrom 
 
ans =
 
     1
 
>> palindrom('ogorod')
The word 
 ogorod 
 is not a palindrom 
 
ans =
 
     0
 
>> palindrom('Saip Puakivi Kau p p i a s')
The word 
 Saip Puakivi Kau p p i a s 
 is a palindrom 
 
ans =
 
     1
И счастливые идем спать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.12.2012, 00:56
Помогаю со студенческими работами здесь

Описать ФУНКЦИЮ R(a). Которая определяет является ли заданное пятизначное число перевертышем
Описать ФУНКЦИЮ R(a). Которая определяет является ли заданное пятизначное число перевертышем.

Проверить, является ли данное число палиндромом(перевертышем)
Задача 5/7: Дано целое четырехзначное число. Проверить, является ли данное число палиндромом(перевертышем),как, например, числа 1221,...

Выяснить, является ли данное слово палиндромом(перевертышем)
Даны три слова. Выяснить, является ли оно палиндромом(перевертышем), т.е таким, которое одинаково читается слева направо и справа налево....

Проверьте, является ли данное число палиндромом (перевертышем)
Дано натуральное n-значное число P. Проверьте, является ли данное число палиндромом (перевертышем).Delphi

Требуется определить функцию, (z1 n), которая сначала печатает строку чисел без пробелов n n-1 … 1, а на второй строке выводит значение в виде списка
Требуется определить функцию, (z1 n), которая сначала печатает строку чисел без пробелов n n-1 … 1, а на второй строке выводит значение в...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru