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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2010, 04:02   #1
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию Поиск корня в предложение

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

Вот, пока что наварганил...

Код программы:

Код:
#include <vcl.h>
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>

#pragma hdrstop
#pragma argsused

char * Rus(const char * Text);

const int ArrayLimit = 255;

char BufferSize[ArrayLimit];

int main(void)
{
	// ----
	clrscr();
	// ----
	
	typedef unsigned int Ui;

	char ReadFirstMessage[ArrayLimit],
	ReadSecondMessage[ArrayLimit];
	
	char BufferFirstMessage[ArrayLimit],
	BufferSecondMessage[ArrayLimit];

	char TempBufferMessage[ArrayLimit];
	char RootMessage[ArrayLimit];

	char *FirstIndex, *SecondIndex;

	printf(Rus("1.Введите первое предложение\n "));
	gets(ReadFirstMessage);
	printf(Rus("2.Введите второе предложение\n "));
	gets(ReadSecondMessage);

	printf(Rus("\n - Финальные результаты - \n"));

	Ui FirstMessageCounter = 0;

	FirstIndex = strtok(ReadFirstMessage, " !@#$%^&*()-+,./?|");

	while(FirstIndex)
	{
		if(FirstMessageCounter == 0 || strlen(FirstIndex) > FirstMessageCounter)
		{
			strcpy(BufferFirstMessage, FirstIndex);
			FirstMessageCounter = strlen(FirstIndex);
		}
		FirstIndex = strtok(NULL, " !@#$%^&*()-+,./?|");
	}

	printf("\n");

	printf(Rus("Самое длинное слово первого предложения "));
	printf("[ %s ]\n", BufferFirstMessage);
	printf(Rus("Количество букв в этом слове "));
	printf("[ %d ]\n", FirstMessageCounter);
	printf("/----\n");

	Ui SecondMessageCounter = 0;

	SecondIndex = strtok(ReadSecondMessage, " !@#$%^&*()-+,./?|");

	while(SecondIndex)
	{
		if(SecondMessageCounter == 0 || strlen(SecondIndex) > SecondMessageCounter)
		{
			strcpy(BufferSecondMessage, SecondIndex);
			SecondMessageCounter = strlen(SecondIndex);
		}
		SecondIndex = strtok(NULL, " !@#$%^&*()-+,./?|");
	}

	printf(Rus("Самое длинное слово второго предложения "));
	printf("[ %s ]\n", BufferSecondMessage);
	printf(Rus("Количество букв в этом слове "));
	printf("[ %d ]\n", SecondMessageCounter);
	printf("/----\n");

	Ui TempMessageCounter;

	printf(Rus("Самое длинное слово из двух данных предложений "));

	if (FirstMessageCounter > SecondMessageCounter)
	{
		// ----
		//TempMessageCounter = FirstMessageCounter;
		TempBufferMessage[ArrayLimit] = BufferFirstMessage[ArrayLimit];
		// ----

		printf("[ %s ]\n", BufferFirstMessage);
		printf(Rus("Количество букв в этом слове "));
		printf("[ %d ]\n", FirstMessageCounter);
	}
	else
	{
		// ----
		//TempMessageCounter = SecondMessageCounter;
		TempBufferMessage[ArrayLimit] = BufferSecondMessage[ArrayLimit];
		// ----

		printf("[ %s ]\n", BufferSecondMessage);
		printf(Rus("Количество букв в этом слове "));
		printf("[ %d ]\n", SecondMessageCounter);
	}
	
	printf("/----\n");

	printf(Rus("\n3.Введите корень самого длинного слова, для того чтобы узнать\n"));
	printf(Rus("не повторяется ли он в других словах из двух данных предложений\n "));

	gets(RootMessage);

	// ----
	getch();
	// ----

	return 0;
}

char * Rus(const char * Text)
{
	  CharToOem(Text, BufferSize);
	  return BufferSize;
}
coNsept вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление квадратного корня вручную 6AZblJlb Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 16.11.2011 04:02
поиск корня методом деления пополам jewels Общие вопросы C/C++ 2 16.11.2009 01:09
Вычисление квадратного корня в Delphi TaYgA Помощь студентам 17 08.11.2009 18:16
Нахождение корня n-ой степни Lord_Rufus Помощь студентам 10 28.09.2009 08:43
Метод квадратного корня RrR007 Помощь студентам 0 10.06.2009 21:01