Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [СИ]Программа обработки строки


Автор: zanafar 8.1.2011, 09:29
Дана последовательность,содержащая от 2 до 50 слов,в каждом из которых от 1 до 8 строчных латинский букв; между соседними словами - не менее одного пробела,за последним словом - точка. Напечатать все слова,отличные от последнего слова и удовлетворяющеие следующему условию : Слово симметрично

P.S : Помогите бедному студенту. Срочно. Сижу на зачете. В ближащее время срочно нужна написанная программа. Заранее спасибо )

Автор: Oleg_Ci 10.1.2011, 17:27
Вполне возможно авору топика надобыло на С++
Написал на Си, коекак smile уже разучился.
Что такое Слово симметрично я незнаю.
Код

#include <stdio.h>
#include <string.h>


int main()
{
    printf("1) Enter the text:\n");
    
    // 50 слов по 8 символов
    char mas[50][9] = {0};
    char end[8] = {0}; // последнее слово
    char str[10] = {0};
    int count = 0; // количество слов


    // считываем текст, то символа перевода строки
    while(char i = getchar()){
        if(i==' ' || i=='\n' || i=='.' || strlen(str)>8){
            if(strlen(str)>0){
                if(i!='.'){
                    //printf("%s\n", str);
                    sprintf(mas[count], "%s", str); // записываем слово
                    count++;
                    if(count>50) break;
                }
                else{
                    sprintf(end, "%s", str);
                }
            }
            sprintf(str,"%s", "");
        }else{
            sprintf(str, "%s%c", str, i);
        }
        if(i=='\n') break;
    } // while



    printf("\n\n2) String:\n");

    // выводим слова которые не похожи на последнее слово
    for(int i=0; i<count; i++){
        if(strncmp(mas[i], end, 8))
            printf("%d. %s\n", i+1, mas[i]);
    }



    printf("\n\nEnd");
    getchar();
    return 0;
}

Автор: zanafar 10.1.2011, 21:51
Cпасибо вам огромное от моего друга ^_^

Автор: Oleg_Ci 11.1.2011, 10:07
Цитата(zanafar @  11.1.2011,  00:51 Найти цитируемый пост)
Cпасибо вам огромное от моего друга ^_^

Так ведь программа до конца не решена, еще надо сделать чтоб - "Слово симметрично" было.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)