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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2013, 17:26   #1
Dagestan228
 
Аватар для Dagestan228
 
Регистрация: 16.11.2013
Сообщений: 3
По умолчанию Лабораторная работа по строкам

Задание:

С клавиатуры вводятся две строки, содержащие
некоторые слова. Слова перечислены через запятую.
Исключить из первой строки слова, входящие во вторую
строку. Слова должны сравниваться без учета регистра
символов.
Пример ввода:
строка 1: world,cat,DOG,BALL
строка 2: World,dog,processor,memory,programm ing
Результат: cat ball

Программа выводит ошибку или кучу символов(если 2я строчка содержит 1 слово)...

afaw.jpg
qfwfq.jpg

Код:
#include "string"
#include "stdafx.h"
#include "iostream"
#include "istream"
#include "stdio.h"

using namespace std;
//Функция определяет количество слов в строке
int kolvoslov(char stroka[])
{
	int kolvo=0;
	for (int i=0 ; i<strlen(stroka) ; i++) 
{ 
  if (stroka[i] == ',') 
 kolvo++; 
 } 
	return kolvo+1;
}
// Функция возвращает определенное слово 
char* slovo (char *str,int N)
{	
int i=1;
	char * ptr = strtok (str,",");
  while (i!=N)                       
  {
	  
      ptr = strtok (NULL, ",");
	  i++;	  	  		  
  }

    return ptr;

}
int _tmain(int argc, _TCHAR* argv[])
{

	//str1,2-исходные строки, str3-результат программы.
char str1[256],str2[256],str3[256];

	//ввод пользователем 2х строк с клавиатуры(слова в строке разделены знаком ",")
printf("Stroka 1:\n");
cin.getline (str1,256);
printf("Stroka 2:\n");
cin.getline (str2,256);

int p=0;

	for (int i=1;i<kolvoslov(str1);i++)
	{
			for (int j=1;j<kolvoslov(str2);j++)
	{
		if (_stricmp(slovo(str1,i),slovo(str2,j))!=0)
			//P-счетчик несовпавших слов
						p++; 

	}
			if(p=kolvoslov(str2))
				{strcat(str3," ");
			strcat(str3,slovo(str1,i));
			}
	}

	cout<<str3;
	cin.get();
	cin.ignore();
	return 0;
}

Последний раз редактировалось Dagestan228; 16.11.2013 в 20:09.
Dagestan228 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лабораторная работа на с++ xWoWx Фриланс 5 15.09.2013 13:52
Лабораторная работа Opelsin Помощь студентам 0 22.01.2013 22:53
Лабораторная работа laventus Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 17.01.2013 14:49
Работа с файлом.поиск по строкам Нейллин C# (си шарп) 4 15.05.2012 19:00
Лабораторная работа Новичек_Rudik Помощь студентам 2 19.04.2010 17:50