powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Делаю упражнение
4 сообщений из 4, страница 1 из 1
Делаю упражнение
    #32365392
Nerop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли в этом коде ошибки?

/*Упражнение 2.4. Напишите версию функции
squeeze(s1,s2), которая удаляет из s1 все
символы, встречающиеся в строке s2.*/

#include <stdio.h>
void squeeze (char , char);
main()
{
int i,c;
char ss1[1000];
char ss2[1000];
printf ("Enter the massive ss1:\n");
for (i = 0; (c = getchar()) != '`'; i++) //Ввести массив ss1
{
ss1 = c;
}
ss1 = '\0';

printf ("Enter the massive ss2:\n"); //Ввести массив ss2
for (i = 0; (c = getchar()) != '`'; i++)
{
ss2 = c;
}
ss2 = '\0';
squeeze (ss1[], ss2[]);
}




squeeze(char s1[], char s2[])
{
int i;
int j;
for (i=0; s1 != '\0'; i++)
{
for (j = 0; s1 != s2[j] && s2[j] != '\0'; j++)
{ }
if (s2[j] == s1) //Сверить s1 с s2[0,1,2...]
{ }
else if (s2[j] != s1)
{ putchar(s1); }
}

return 0;
}
...
Рейтинг: 0 / 0
Делаю упражнение
    #32365598
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
полно. можно было написать например так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
#include <stdio.h> 
void squeeze (char* , char*); 
main() 
{ 
	char ss1[ 1000 ] =  "ghjkhdsgjkhdsgk" ; 
	char ss2[ 1000 ] =  "gf4etf87hvcjkshf73" ; 

	squeeze(ss1,ss2);

	printf( "%s\n" ,ss1);
	return  0 ;
} 

void squeeze(char* pS1, char* pS2) 
{ 
	char *tpS1, *tpS2, *tpS3;

	for (tpS1=pS1,tpS3=pS1; *tpS1; tpS1++) 
	{ 
		for (tpS2=pS2; *tpS2; tpS2++) 
		{ 
			if (*tpS2 == *tpS1)
			{
				break;
			}
		}
		*tpS3 = *tpS1;
		if (!*tpS2) tpS3++;
	}
	*tpS3 =  0 ;
}
...
Рейтинг: 0 / 0
Делаю упражнение
    #32365642
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или так еще лучше ( товарищ подсказал двигаться сзади )
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
#include <stdio.h> 
#include <string.h> 
void squeeze (char* , char*); 
main() 
{ 
	char ss1[ 1000 ] =  "ghjkhdsgjkhdsgk" ; 
	char ss2[ 1000 ] =  "gf4etf87hvcjkshf73" ; 

	squeeze(ss1,ss2);

	printf( "%s\n" ,ss1);
	return  0 ;
} 

void squeeze(char* pS1, char* pS2) 
{ 
	char *tpS1, *tpS2;

	for (tpS1=pS1+strlen(pS1) ; tpS1 != pS1- 1 ; tpS1 --) 
 
	{ 
		for (tpS2=pS2; *tpS2; tpS2++) 
		{ 
			if (*tpS2 == *tpS1)
			{
				strcpy(tpS1,tpS1+ 1 );
			}
		}
	}
}
...
Рейтинг: 0 / 0
Делаю упражнение
    #32366644
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще лучше
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
#include <stdio.h> 
#include <string.h> 
void squeeze (char* , char*); 
main() 
{ 
	char ss1[ 1000 ] =  "ghjkhdsgjkhdsgk" ; 
	char ss2[ 1000 ] =  "gf4etf87hvcjkshf73" ; 

	squeeze(ss1,ss2);

	printf( "%s\n" ,ss1);
	return  0 ;
} 
void squeeze(char* pS1, char* pS2) 
{ 
	char *tpS1;
	for (tpS1=pS1+strlen(pS1) ; tpS1 != pS1- 1 ; tpS1 --) 
 
	{ 
		if (strchr(pS2,*tpS1)) 
				strcpy(tpS1,tpS1+ 1 );
	}
}
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Делаю упражнение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]