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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2012, 22:38   #1
zmog
 
Регистрация: 28.11.2012
Сообщений: 5
По умолчанию работа со строками продолжение

помогите сделать лабу по строкам в с++ библиотеки visual c++
задание вот такое

16. Ввести два речення. Якщо у них є однакові слова, то замінити їх у другому реченні на відповідну кількість символів "*".

Код:

  #include "stdafx.h"
#include<string.h>                                   //библиотека строковых функций
#include<conio.h>                                   //библиотека консольных функций
#include<stdlib.h>
#include <iostream>                            //библиотека функций ввода, вывода
using namespace std;
// область описания директив

#include "stdafx.h"

const int size = 80;

char *SkipSpace(char *pTmp);
char *SkipWord(char *pTmp);
char *CopyWord(char *from, char * to);

char *works(char *one, char *two, char *Result);


int lengthword(char *pTmp); // скорее всего не нужна!
int IsIn(char *p1, char *p2);
int comp(char *p1, char *p2);

int main() // главная функция
{
	char sfirst[size], sscnd[size], sresult[size];
	while(cout << "\nPlease input FIRST sentense:\n", cin.getline(sfirst,size)){ // ввод первой строки

		cout << "\nPlease input Second sentense:\n", cin.getline(sscnd,size); // ввод второй строки

		works(sfirst, sscnd, sresult); // получение результата

		cout << "\nThe first sentense\n" << sfirst << endl; // вывод первой исходной строки
		
		cout << "\nThe second sentense\n" << sscnd << endl; // вывод второй исходной строки
		
		cout << "\nThe RESULT sentense\n" << sresult << endl; // вывод результата
	}
	return 0;
{

char *SkipSpace(char *pTmp){
	for(;*pTmp == ' ' || *pTmp == '\t';pTmp++);
	return pTmp;
}
{
char *SkipWord(char *pTmp){
    for(;*pTmp != '\0' && *pTmp != ' ' && *pTmp != '\t';pTmp++);
    return pTmp;
}
{
int lengthword(char *pTmp){
    int n=0;
    for(;*pTmp != ' ' && *pTmp != '\t'; pTmp++, n++);
	return n;
}			 
{
char *works(char *one, char *two, char *Result){
  *Result='\0';
  while((one = SkipSpace(one)) && (*one != '\0' && *two !='\0')){
    if(IsIn(one, two))
      Result = CopyWord(one, Result);
    one = SkipWord(one);
  }
{
return  Result;

}
{
int IsIn(char *p1, char *p2){
  while((p2 = SkipSpace(p2)) && *p2 !='\0'){
    if(comp(p1, p2))
      return 1;
    p2 = SkipWord(p2);

  }
{

return 0;

}
{
         int comp(char *p1, char *p2){
         int Flag = 0;
          for(;*p1!= ' ' && *p1 != '\t' && (*p1 !='\0' || *p2 !='\0'); *p1++, *p2++)
         if(*p1 != *p2) {
           Flag = 1;
          break;
    }
{
      if (Flag)
        return 0;
       else 
       return 1;
}
{
             char *CopyWord(char *from, char *to){
	            char *temp;
	            for (temp = to; *temp; temp++);
	             while (* temp++ = * from++);
	             return to;

}
как сделать чтоб после сравнения предложение одинаковые слова менялись на * подскажите плиз

Последний раз редактировалось zmog; 05.12.2012 в 23:47.
zmog вне форума Ответить с цитированием
Старый 05.12.2012, 22:45   #2
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,711
По умолчанию

И как это читать? Потрудитесь хотя бы нажать "правка" выделить код и кнопочкой '#' поместить его в обрамляющие теги. И сдвинуть вправо строки текста между парами {}
Благими намерениями устлана дорога на programmersforum.ru
MihalNik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками С. Frostmind Общие вопросы C/C++ 1 07.11.2012 22:32
Работа со строками в СИ Даsha Помощь студентам 0 20.02.2011 15:56
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Работа со строками ponchikpk Помощь студентам 13 17.03.2009 21:08
РАБОТА СО СТРОКАМИ kluwa Общие вопросы C/C++ 7 20.12.2007 18:30