Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2009, 00:48   #1
Stager
Пользователь
 
Регистрация: 23.11.2008
Сообщений: 41
По умолчанию Как вставить в слове после любой буквы пробел?

Вот задача:
Вставьте в слове после каждой буквы, стоящей на нечётном месте пробел.
Вот моё решение:
Код:
#include <iostream.h>
#include <string.h>
void main()
{ 
	char slovo[10];
	int len;
	int i,k,;
	cout<<"slovo:";
	cin>>slovo;
	cout<<"\n";
	 len = strlen(slovo);
	 for (i=0;i<len;i++)
	  {if (i%2==0) (slovo[i]=' ');}
		cout<<slovo;
}
Да вот только, эта прога ставит пробелы на нечётные символы (чётные оставляет), а как сделать чтобы она всавляла пробел после чётных символов?
Stager вне форума Ответить с цитированием
Старый 06.01.2009, 01:49   #2
ksa
 
Регистрация: 03.01.2009
Сообщений: 3
По умолчанию

Ну если я тебя правильно понял...
Код:
#include <iostream.h>
#include <string.h>
#include <conio.h>
void main()
{
  clrscr();
    char slovo[10];
    int len;
    int i,k;
    cout<<"Slovo:"<<"\n";
    cin>>slovo;
    len = strlen(slovo);
      for (i=0;i<len;i++)
	{if (i%2==0) (slovo[i+1]=' ');}
    cout<<slovo<<"\n";
  getch();
}

Последний раз редактировалось ksa; 06.01.2009 в 01:51.
ksa вне форума Ответить с цитированием
Старый 06.01.2009, 01:59   #3
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

просто индексация начинается с 0.
поэтому то что для вас нечетное для компилятора будет четным :

поэтому решить задачу можно и так

Код:
void main()
{ 
	char slovo[10];
	int len;
	int i,k;
	std::cout<<"slovo:";
	std::cin>>slovo;
	std::cout<<"\n";
	 len = strlen(slovo);
	 for (i=0;i<len;i++)
	  {
		  if (i%2!=0) slovo[i]=' ';
	  }
	 std::cout<<slovo;
	
}

Последний раз редактировалось counter; 06.01.2009 в 02:01.
counter вне форума Ответить с цитированием
Старый 06.01.2009, 02:49   #4
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

автор разве написал "Заменить"? я прочитал "Вставить"...
vvviperrr вне форума Ответить с цитированием
Старый 06.01.2009, 13:10   #5
spark-roman
Пользователь
 
Регистрация: 25.10.2008
Сообщений: 20
По умолчанию

Код:
#include <iostream>
using namespace std;
char slovo[100];
int main(){
    cin>>slovo;
    int len = strlen(slovo);
    int ln=len;
    for (int i=0;i<len+len/2+1;i++){
        if (i%3==0 || i==1){
           for (int j=ln;j>=i;j--){           
               slovo[j+1]=slovo[j];
           }
           slovo[i]=' ';
           ln++;
        }
    }
    for (int j=0;j<ln;j++){           
        slovo[j-2]=slovo[j];
    }
    slovo[ln-2]='\0';
    cout<<slovo<<'\n';
}
spark-roman вне форума Ответить с цитированием
Старый 07.01.2009, 14:05   #6
Stager
Пользователь
 
Регистрация: 23.11.2008
Сообщений: 41
По умолчанию

Большое Спасибо Spark-roman, твоя прога работает!
Да, многие не обратили внимание на "вставить".
Всем Большое Спасибо!
Stager вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вставить лист после/до Bezdar Microsoft Office Excel 5 29.12.2008 12:25
Вставить первую строку после строки, в которой находится первый встреченный максимальный элемент. JiLiYa Паскаль, Turbo Pascal, PascalABC.NET 4 03.12.2008 12:13
Как предать в MySQL русские буквы kiber0net0 БД в Delphi 6 05.09.2008 22:07
Как с поиощью hiew вставить в файл строчку, "раздвинуть" файл и вставить туда строчку? barand Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 28.06.2008 10:58
Как преобразовать русские буквы в латиницу? Alexander_Gr Microsoft Office Excel 8 03.12.2007 19:49