Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 14.10.2009, 15:48   #1
blackbanny
Форумчанин
 
Аватар для blackbanny
 
Регистрация: 02.10.2009
Сообщений: 104
Восклицание задание на С

1. Определить,расположены ли цифры в записи натурального числа симметричным образом.например,54345-симметрично,123324-нет

2. Автоморфными называются числа,которые содержатся в последних разрядах их квадрата.составьте алгоритм нахождения нескольких автоморфных чисел. пример 5^2=25, 25^2=625-автоморфные числа.
blackbanny вне форума
Старый 14.10.2009, 20:36   #2
xcyber
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 11
По умолчанию

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

Код:
#include <stdio.h>
#include <ctype.h>
#include <string.h>

#define MLINE  1000
#define MWORD  100 

main()
{
    char *reverse(char []);
    char line[MLINE], word[MWORD], tmp[MWORD], *p, *q;
    int nc;
    
    while ((p = fgets(line, MLINE, stdin)) != NULL) 
    {
        if (p[0] == '\n' || (p[0] == '\r' && p[1] == '\n')) break;
        for (q = p; *q != '\0'; q++)
        if(ispunct(*q)) *q = ' ';
        while (sscanf(p, "%s%n", word, &nc) == 1) 
       {
            p += nc;
            strcpy(tmp, word);
            if (strcmp(word, reverse(tmp)) == 0 && strlen(word) > 1)
            printf("Palindrom: %s \n", word);
        }
    }        
    return 0;
}

/* функция обращения строки */
char *reverse(char s[])
{
    char *z, *qq;
    int c;
    z = qq = s;
    while (*qq) qq++;
    for (qq-- ; z < qq; z++, qq--) c = *z, *z = *qq, *qq = c;
    return s;
}
xcyber вне форума
Старый 15.10.2009, 09:39   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Кросспост. Закрываю.
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание Олфелия Помощь студентам 6 08.10.2009 16:59
Задание / Си Drozvd Помощь студентам 6 11.08.2009 06:33
задание по Паскаль Оксаночка:) Помощь студентам 10 29.06.2009 21:17
Задание $ user570 Фриланс 3 15.06.2008 22:11