| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Простенькая задачка на строки |
| Автор: dark0ut 22.2.2004, 02:30 |
| Даны 2 строки S1 и S2. Нужно написать программу, которая удаляет из строки S1 все символы, встретившиеся в строке S2. Помогите, плиз. |
| Автор: Гость_setq 22.2.2004, 02:46 |
| чего сложного-то, а? ты начни ТОЛЬКО САМ. мы поможем. |
| Автор: dark0ut 23.2.2004, 02:30 |
| Ну не знаю. У меня не получается никак, поэтому и спрашиваю. |
| Автор: kuzia 23.2.2004, 13:09 |
| clrscr(); char s1[]="ass hole mother fucker."; char s2[]="abcdefgh."; int i,j,p,n,m; /////////////////////////////////////////////////////////////// /* String inicialization from keybord */ /* cout << "Input first string: "; for(n=0; s1[n]!='.'; n++) //Counting string-length directly while //Inicializing { cin >> s1[n]; } cout << "Input second string: "; for(i=0; s2[i]!='.'; i++) //Counting string-length directly while //Inicializing { cin >> s1[i]; } */ /////////////////////////////////////////////////////////////// /* Counting in a separate cicle */ for (n=0 ; s1[n] != '.' ; n++ ) //counting simbols to avoid for (i=0 ; s2[i] != '.' ; i++ ) //errors in printing in BC 3.1 /////////////////////////////////////////////////////////////// for (j=0 ; j <= i ; j++ ) //cicle for the mother - string { for(m=0;m<=n;m++) //cicle for the child - string { if(s2[j]==s1[m]) s1[m]=' '; } } for (p=0 ; s1[p] != '.' ; p++ ) //this version will not avoid ' ' // => not formating modification { cout<<s1[p]; //Printing the optimized string } /////////////////////////////////////////////////////////////// /* Ouputing the optimised string */ cout<<"\n"; for (p=0 ; s1[p] != '.' ; p++ ) //this version will avoid ' ' // => formating modification { if(s1[p]!=' ') cout<<s1[p]; //Printing the optimized string } getch(); |
| Автор: kuzia 23.2.2004, 13:12 |
| Там всё форматирование и вообще всё поехало. Так что скачать этот исходник можно с http://kital.ru/f.cpp |
| Автор: Coocky 23.2.2004, 23:39 | ||||
А че так сложно -цикл можно просто
Или я че то задание не понял Да и еще dark0ut почитай про класс CString,там много интересных фунций |
| Автор: ElectricalStorm 24.2.2004, 00:10 | ||
| не знаю С++ Алгоритм: 1) Разбиваем строки на массивы символов (получаем массив А и В) 2) Сортируем оба по возрастанию
на Perl 10 строчек |
| Автор: kuzia 24.2.2004, 01:55 |
| Coocky - это цикл потому, что я сделал универсальную, чтоб под BORLAND 3.1 пахало, если делать так как ты, то если рамер будет не сто, а меньше, то он оставшиеся байты аски код распечатает просто... одним словом мухолапки! |
| Автор: Coocky 24.2.2004, 16:38 | ||
kuziaНеужели ты не знаешь,что в С++ есть символ оконания строки(/'0'),поэтому будет
это минимум,а вообще cout<<s1;//Выведет символы,пока не встретит '0' |
| Автор: OlegsDP 25.2.2004, 10:56 | ||
|
| Автор: Гость_kuzia 1.3.2004, 18:55 |
| блин, итак это и ежу понятно!!!!!! только чем это короче моего! |
| Автор: Artemon 2.3.2004, 09:16 |
| Гость_kuzia, может и не короче, но у COOCKY правельнее. Вдруг в конце строки встретится не точка. |