Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 34

Исправить код по нахождению слов-палиндромов

17.03.2009, 00:22. Показов 1069. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите исправить ошибки в задаче про проверку является ли слово оборотнем. Например maam - слово оборотень, mama - нет.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
int main (void)
{
int flag, i, n;
char a[];
flag==1;
n==length(a);
printf ("Vvedite slovo: ");
scanf ("%s", &a[]);
while (flag == 1)
  {
  if (a[i]==a[n+1-i])
    flag=1;
  else
    {
    flag==0;
    printf ("ne oboroten'");
    }
  ++i;
  }
  if (flag == 1)
    printf ("slovo oboroten'");
  return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.03.2009, 00:22
Ответы с готовыми решениями:

Исправить код по нахождению суммы
не выдает sum. где моя ошибка ? uses crt; procedure www(a,b:integer); begin write('Vvedite a i b: '); readln(a,b); ...

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

Инвертирование слов: исправить код
Var YN:Char; Game:Byte; Procedure String_Game; Var S:String; W,Wrd:Array of String; Nw,i,j:Byte; begin

5
0 / 0 / 0
Регистрация: 22.03.2008
Сообщений: 33
17.03.2009, 00:43
В 5 строчке ошибка. Ты должен сказать длину массива в тот момент когда определяешь его .
Есть два решения :
1) Либо предположи его максимальную длину.
2)Либо используй динамичиские массивы.

Добавлено через 2 минуты 51 секунду
А и еще ты везде вместо присваиванья используешь сравнение.
Строчки 6,7 ,16
0
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 34
17.03.2009, 01:20  [ТС]
Поменял на a[n] в 5-й и 9-й строчке и исправил на присваивания в 6,7,16 строчках. Осталась одна ошибка: Constant expression required в 5-й строчке.
0
Maniac
Эксперт С++
 Аватар для ISergey
1465 / 966 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
17.03.2009, 05:00
Цитата Сообщение от Deinli Посмотреть сообщение
Поменял на a[n] в 5-й и 9-й строчке и исправил на присваивания в 6,7,16 строчках. Осталась одна ошибка: Constant expression required в 5-й строчке.
код показывайте ( ошибки исправим ).
0
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
17.03.2009, 07:12
Цитата Сообщение от Deinli Посмотреть сообщение
Поменял на a[n] в 5-й и 9-й строчке и исправил на присваивания в 6,7,16 строчках. Осталась одна ошибка: Constant expression required в 5-й строчке.
Constant expression required - требуется константное определение длины строчки, иначе система не знаэт сколько резервировать памяти. Предположите сколько приблизительно она может быть и задайте константой.

Цитата Сообщение от Deinli Посмотреть сообщение
Поменял на a[n]
А тут вообще еще 1 ошибка - использование переменной до ее инициализации, но она накрыта выше описанной.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
17.03.2009, 08:59
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

если у тебя стал такой
Code
1
2
3
    char a[n];    
 
    scanf("%s", &a[n]);
то нужно сделать вот такой

Code
1
2
3
4
5
    #define MAXWORD  100   /* максимальная длина слова */
    ...
    char a[MAXWORD];
 
    scanf("%s", a);
можно юзать конечно и char a[n]; и это может даже сработать, если на момент запуска программы в n оказывается положительный мусор

вообще, лучше копию строки подать в функцию обращения, и сравнить результат

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <string.h>
 
/* ReverseLine:  обращает строку l */
void ReverseLine(char *l)
{
    char *leftp, *rightp;
    int c;
    
    if (l == NULL)
        return;
    for (leftp = l, rightp = l+strlen(l)-1;
         leftp < rightp;
         leftp++, rightp--)
        c = *leftp, *leftp = *rightp, *rightp = c;
}
 
/* CompareLine:  сравнивает строки l и patt */ 
int CompareLine(const char *l, const char *patt)
{
    if (strcmp(s, patt) != 0)
        return 0;
    return 1;    
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.03.2009, 08:59
Помогаю со студенческими работами здесь

Посчитать количество слов в строке: исправить код
Помогите пож. поправить программу. Она должна считать кол-во слов в строке. (но считает не верно) Заранее огромное спасибо! .386 ...

Словарь слов палиндромов
В текстовом файле записан текст одного из произведений, создать в новом файле словарь слов палиндромов(слова - без повторов, сортировать не...

Количество слов-палиндромов
Дана строка. Нужно написать программу, которая определяет количество слов-палиндромов в строке. Словом называется последовательность...

Распознавание слов палиндромов
Задача звучит так: Создать приложение, в котором происходит проверка, является ли введенное слово палиндромом (слева направо и справа...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 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