IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> замена символа в строке (turbo c++)
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Максим

Репутация: -  0  +


задача: ввести с клавиатуры строку не более 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






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

#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, и впечатать туда этот параметр...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






спасибо за разъяснения
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.05.2024 22:30
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name