Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Palindrom, Slovo chitajetsja s oboih storon odinakov

9.1K
08 июня 2005 года
Katyafiona
16 / / 24.05.2005
Ребята, задание: написат программу, которая определяет, является ли слово палиндромом (слово которое с любой сторони читается одинаково, например "потоп"). Написат надо обязателно с поинтерами и с подпрограммами (извиняюс за корявий русский по компютерной тематике )
Вот что я пока накатала,

#include <stdio.h>
#define MAX 132

char buffer[MAX];
int richtig;

int main ()
{
printf("Geben Sie bitte ein Wort ein>>>\n"); /*Zadajte pozhalujsta slovo*/
fgets(buffer,MAX,stdin);

richtig = gleich();

if(!richtig)
{ printf("Das ist KEIN Palindrom\n");} /*Eto ne palindrom*/
else
{ printf ("Das ist ein Palindrom\n");} /*Eto palindrom*/
}

int gleich ()
{

char *str;
char *str2;
int len;
int n =0;
len = strlen(buffer);
int i;
str = &buffer;
str2 = &buffer[len-2];


if(*str==*str2)
{
while(*str==*str2&&n!=(len-2)/2)
{
*str++; /* Takim obrazom ja ved "uvelichivaju" adres??? */
*str--;
n++;
}

if(n==(len-2)/2)
return 1;
}

else
return 0;
}


Mne uzhe napisali paru pravilnih reshenij, no kto mne pomozhet, razobratsja, chto nepravilno v moej programme: hod misli, napisanie ili chto?
Esli kto sejchas v ICQ, napishite soobshchenije, please, ja dumaju v ICQ obsudit budet bistree.
Moj nomer 332 431 863


Spasibo
488
08 июня 2005 года
Mоngооsе
465 / / 01.04.2005
Код:
#include <stdio.h>

#include <string.h>
#include <conio.h>

#define MAX 132

char buffer[MAX];
int richtig;

int gleich ()
{
  char *str;
  char *str2;
  str = &buffer[0];  
  str2 = &buffer[strlen(buffer)-2]; //nuzsno otszecs szinvol CR, poetomu -2, a ne -1
  while(str<=str2 && *str==*str2)
  {
    str++;
    str2--;
  }

  if(str>str2)
    return 1;
  else
    return 0;
}

int main ()
{
  printf("Geben Sie bitte ein Wort ein>>>\n"); /*Zadajte pozhalujsta slovo*/
  fgets(buffer,MAX,stdin);
  richtig = gleich();

  if(!richtig)
  {
    printf("Das ist KEIN Palindrom\n"); /*Eto ne palindrom*/
  }
  else
  {
    printf ("Das ist ein Palindrom\n"); /*Eto palindrom*/
  }
  getch();
  return 0;
}
В исходной программе было море ошибок.
9.1K
08 июня 2005 года
Katyafiona
16 / / 24.05.2005
Spasibo ogromnoe , teper popitajus ponjat:

Цитата:

str2 = &buffer[strlen(buffer)-2]; //nuzsno otszecs szinvol CR, poetomu -2, a ne -1




A chto takoe CR?

488
08 июня 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by Katyafiona
Spasibo ogromnoe , teper popitajus ponjat:
A chto takoe CR?

Cariage Return или Enter. fgets() считает слово вместе с этим символом.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог