Помощь - Поиск - Пользователи - Календарь
Полная версия: замена символа в строке (turbo c++)
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
MaximumGame
задача: ввести с клавиатуры строку не более 128 символов. Заменить в этой строке символы с нечетным порядковым номером на символ замены. символ замены вводится при запуске программы, если этот аргумент в не указан, в качестве замены используется пробел. преобразованную строку выдать на экран. замену символов оформить в виде функции.
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
char* zam(char str[128],char cz[1])
{ int i;
if (strlen(cz)>0)
{
for(i=0; i<strlen(str); i++)
str[i+1]=cz[1];
}
else
{
for(i=0; i<strlen(str); i++)
str[i+1]=' ';
};
cout<<str;
return str;
}
void main()
{
char s[128], cimzam[1];
cout<<"\nvvedite stroky ";
cin>>s;
cout<<"\nvvedite cimvol zameny ";
cin>>cimzam;
zam(s,cimzam);
getch();
}

Вот моя программа.Что здесь не так ума не приложу mega_chok.gif
volvo
Цитата
Что здесь не так ума не приложу
Это не то, что требовалось по заданию... Задача была не в том, чтобы ты ввел символ замены с клавиатуры (если ты его введешь, то его никак нн может не быть, правда?), а чтобы этот символ передавался или не передавался при запуске программы, через коммандную строку. Да и в функции замены ты накрутил лишнего... Смотри:

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>

char* zam(char str[128],char cz = ' ')
{
for(int i = 1; i < strlen(str); i += 2) {
str[i] = cz;
}
// cout<<str;
return str; // Задача функции - заменить символы, а не печатать строку !!!
}

int main(int argc, char *argv[])
{
char s[128], cimzam = ' ';
if(argc > 1) { // Был передан параметр? Значит, он и есть символ замены...
cimzam = *argv[1];
}
cout << "\nvvedite stroky: ";
cin.getline(s, 128); // cin >> s не сможет ввести строки с пробелами
cout << zam(s, cimzam);
getch();
return 0;
}

Чтобы передать параметр программе из IDE Турбо С++ 3.0 надо зайти в пункт меню Run -> Arguments, и впечатать туда этот параметр...
Гость
спасибо за разъяснения
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.