Функция - замена строки(на C#)

  • Автор темы OlzhasIITU
  • Дата начала
O

OlzhasIITU

Гость
#1
C++:
Функция - Заменить (S, S1, S2). Функция - замена строки S комбинацию символов S1-S2

/***************************************************************/
/*********************** Файл LAB1.C **************************/
#include <stdio.h>
#define N 80

char *replace(char *s, char *s1, char *s2)
{

while(*s)
{
if(*s == *s1)
*s = *s2;
++s;
}
}
return s;
}

main() {

char *s, *s1, *s2;
int n, l, m;

printf("s = ");
gets(s);
printf("s1 = ");
gets(s1);
printf("s2 = ");
gets(s2);

replace(s, s1, s2);
printf("%s\n", s);
getch();
}
 
R

RiCrO

Гость
#3
ierofant, скорее всего нужно сделать это в C#.
 
I

ierofant

Гость
#4
Тогда логичнее было бы разместить это в ветке .Net
 
S

StudyMen

Гость
#6
Профессиональная и оперативная помощь студентам в решении задач по программированию.
Реализатор: ведущий разработчик. Более 5000 выполненных работ по программированию для студентов всех ВУЗов России более чем на 25 различных языках программирования.
Стоимость: от 30 рублей за задачу.
Оплата: оплата производится после выполнения задачи (то есть без предоплаты).
Способ оплаты: электронный платежные системы webMoney и Яндекс-деньги.
Контакты для связи:
Email: administrator@studymen.ru
Skype: studymen
ICQ: 639151387
 
O

OlzhasIITU

Гость
#7
/***************************************************************/
/*********************** Файл LAB1.C **************************/
#include <stdio.h>
#define N 80

int t_sample = 0;
int isNext_sample(char s[N], char s1[N]) {
int j = 0;
while(s[t_sample] != '\0' && s1[j] != '\0') {
if((s[t_sample] != s1[j]) ||
(s[t_sample+1] == '\0' && s1[j+1] != '\0'))
return 0;
t_sample++;
j++;
}
return 1;
}

int Replace_sample(char s[N], char s1[N], char s2[N]) {

int i = 0, k;
while(s[t_sample] != '\0') {
if(isNext_sample(s, s1)) {
for(k = 0; s2[k] != '\0'; k++) {
s = s2[k];
i++;
}
} else {
s = s[t_sample];
i++;
t_sample++;
}
}
s = '\0';
printf("Sample not pointer: %s\n", s);
return 1;
}

int t_ptr = 0;
int isNext_ptr(char *s, char *s1) {
int j = 0;
while(*(s+t_ptr) != '\0' && *(s1+j) != '\0') {
if((s[t_ptr] != s1[j]) ||
(*(s+t_ptr+1) == '\0' && *(s1+j+1) != '\0'))
return 0;
t_ptr++;
j++;
}
return 1;
}

int Replace_ptr(char *s, char *s1, char *s2) {

int i = 0, k;
while(*(s+t_ptr) != '\0') {
if(isNext_ptr(s, s1)) {
for(k = 0; *(s2+k) != '\0'; k++) {
*(s+i) = *(s2+k);
i++;
}
} else {
*(s+i) = *(s+t_ptr);
i++;
t_ptr++;
}
}
*(s+i) = '\0';
printf("By pointer: %s\n", s);
return 1;
}

main() {

char s[N], s1[N], s2[N];
int n, l, m;

printf("Function - Replace(s,s1,s2). Function - replacement string s combination of symbols s1 to s2.\n");
printf("s = ");
gets(s);
printf("s1 = ");
gets(s1);
printf("s2 = ");
gets(s2);
Replace_sample(s, s1, s2);
Replace_ptr(s, s1, s2);
getch();
}
 

lazybiz

Well-Known Member
03.11.2010
1 339
0
#8
OlzhasIITU, предлагаю такие же условия что и StudyMen, но только разница в наших рейтингах. Выбирай.

Добавлено: После твоего последнего поста я понял что сам ты на этой задачей не думал ни разу. Об этом говорит это:
Функция - Заменить (S, S1, S2). Функция - замена строки S комбинацию символов S1-S2
Function - Replace(s,s1,s2). Function - replacement string s combination of symbols s1 to s2
Думаю вряд ли найдется уникал, который будет делать тебе это бесплатно. В общем читай выше.