1

Тема: заміна символів в рядку

У рядку символів замінити усі вибрані користувачем символи на інші......ось що в мене вийшлоБ але не працює)

#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <math.h>
#include <string.h>
 
void main(void){
char* ptr;
char string[128];
char symbol1[12];
char symbol2[12];
int i; bool a; int c=0;
cout<<"Stroka:<<";
cin>>string;
cout<<"zamenit";
cin>>symbol1;
cout<<"na";
cin>>symbol2;
int ls=strlen(string);
int ls1=strlen(symbol1);
int ls2=strlen(symbol2);
for (i = 0; i< ls; i++) {
int p=i;
for (p=i; p < i+ls1; p++) {
if (string[p]!=symbol1[p]) {a=0;break;}
else c++;
}
if (c==ls1) {for (p=i;p<i+ls1;p++) {string[p]=symbol2[p];c=0;}}}
puts (string);
system("Pause");}

2 Востаннє редагувалося muroclav (05.11.2013 20:22:45)

Re: заміна символів в рядку

будь-ласка відформатуйте код це для початку, і вкажіть в чому конкретно помилка
тут щось зайве

#include <stdio.h>
#include <iostream>

тут

void main(void)

бажано так

int main()

це навіщо?

char* ptr;

а взагалі почитайте що вам компілятор пише попередження, помилки...

Подякували: Chemist-i1

3 Востаннє редагувалося GeForce46 (05.11.2013 20:08:15)

Re: заміна символів в рядку

програма працює...але не робить заміни коли різна кількість символів які потрібно замінити і на які...

4 Востаннє редагувалося taras150995 (06.11.2013 20:52:21)

Re: заміна символів в рядку

а для чого вам strlen, наприклад? Думаю, тут можна було б просто рухати вказівник від початку масиву до нуль-символа, перевіряючи на кожному кроці, чи символ в стрічці не співпадає з одним із символів, які треба замінити. Якщо так, заміняєте...
І навіщо math.h, conio.h?