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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2009, 07:46   #1
Jasper92
Форумчанин
 
Аватар для Jasper92
 
Регистрация: 07.02.2009
Сообщений: 110
По умолчанию Сравнение строк

Надо написать программу. Которая сравнивает две строки и выводит символы которые встречаются в каждой строке.
Код:
#include <stdafx.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main ()
{
	char a[50],b[50];
	char v[50];
	printf ("Vvedite stroky\n");
	scanf ("%s",&a);
    printf ("Vvedite 2 stroky\n");
	scanf ("%s",&b);
	for (int i=0; i<strlen(a);i++)
	{
		
	if (strncmp(a,b, 100)) printf ("",a);
	}
	getch ();
}

Последний раз редактировалось Jasper92; 22.12.2009 в 08:49.
Jasper92 вне форума Ответить с цитированием
Старый 22.12.2009, 08:51   #2
Jasper92
Форумчанин
 
Аватар для Jasper92
 
Регистрация: 07.02.2009
Сообщений: 110
По умолчанию

Для сравнения используется функция:
Цитата:
(strncmp(a,b, 100))
Вопрос в том как вывести все встречающеся символы
Jasper92 вне форума Ответить с цитированием
Старый 22.12.2009, 09:47   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Код:
char ss[50] = {0};
char *ps = a;
char *pd = b;
char *pss = ss;
bool same = true;
for(;(*ps) && (*pd); ps++, pd++)
{
  if((*ps) == (*pd))
  {
    (*pss) = (*ps);
    pss++;
  }
  else
  {
    same = false;
  }
}
same = same && !(*ps) && !(*pd); // проверим что обе строки были пропарсены для конца
if(!same) // строки не одинаковы
{
   printf("%s\n"), ss);
}
Как то так.

Последний раз редактировалось BOBAH13; 22.12.2009 в 09:50.
BOBAH13 вне форума Ответить с цитированием
Старый 22.12.2009, 11:13   #4
Jasper92
Форумчанин
 
Аватар для Jasper92
 
Регистрация: 07.02.2009
Сообщений: 110
По умолчанию

Чет я этот код понять немогу.
Jasper92 вне форума Ответить с цитированием
Старый 22.12.2009, 13:57   #5
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 525
По умолчанию

это особая магия указателей
вот посмотри 5 разных способов вывести слово, первые 3 варианта должны что-то объяснить
Код:
	char slovo[] = "TEXT";
	char *pSlovo;


	for (int i=0; i<4; ++i)
		printf("%c\n",slovo[i] );
	
	putch('\n');
	for (int i=0; slovo[i]!='\0'; ++i)	
		printf("%c\n",slovo[i] );

	pSlovo = slovo;		
	putch('\n');
	for (; *pSlovo; ++pSlovo)
		printf("%c\n", *pSlovo );

	pSlovo = slovo;		
	putch('\n');
	for (; (*pSlovo); ++pSlovo)
		printf("%c\n", (*pSlovo) ) ;

	pSlovo = slovo;		
	putch('\n');
	for (; (*pSlovo); ++pSlovo)
		printf("%s\n", pSlovo );
m0nax вне форума Ответить с цитированием
Старый 23.12.2009, 11:14   #6
Jasper92
Форумчанин
 
Аватар для Jasper92
 
Регистрация: 07.02.2009
Сообщений: 110
По умолчанию

А без "магии" указателей можно
Jasper92 вне форума Ответить с цитированием
Старый 23.12.2009, 12:49   #7
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Цитата:
Сообщение от Jasper92 Посмотреть сообщение
А без "магии" указателей можно
Без указателей ступай в яву учить, дружок
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение строк Rivendell Microsoft Office Excel 8 18.12.2009 10:29
сравнение строк -? Evgenii Общие вопросы Delphi 10 15.07.2009 15:28
С++. Сравнение строк maxlav Помощь студентам 8 25.06.2009 04:33
Сравнение строк Elm0 Паскаль, Turbo Pascal, PascalABC.NET 2 02.06.2008 09:31
Сравнение строк HOMER Общие вопросы Delphi 7 04.01.2008 05:53