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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2012, 21:36   #1
Кульный Баг
Новичок
Джуниор
 
Регистрация: 24.02.2012
Сообщений: 2
Печаль Строки в С++.Сам не справляюсь

Задана строка, что состоит из слов, разделенных одним или несколькими пропусками. В словах, которые заканчиваются словосочетанием ing заменить окончание на ed. В паскале 7.0 получилось, в С++, вот все что смог придумать:
Код:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
using namespace std;
int main() 
{
enum {sz=80};
char *st,*r_st;
bool flag;
int k; 
st=new char[sz];
printf ("\nInput string=>");
gets(st);
k=strlen(st);
r_st=new char [k+1];
printf("Your string: ");
puts(st);
int f=0;
int z=3;
for(int i=0;i<k;i+=z)
{if ((st[i]='i') && (st[i+1]='n') && (st[i+2]='g'))
r_st[f]='e'; r_st[f+1]='d'; f=f+2; r_st[f]='\0';} 
}
На большее не хватает знаний

Последний раз редактировалось Stilet; 24.02.2012 в 23:02.
Кульный Баг вне форума Ответить с цитированием
Старый 10.03.2012, 20:43   #2
Кульный Баг
Новичок
Джуниор
 
Регистрация: 24.02.2012
Сообщений: 2
По умолчанию

А почему никто не отвечат?
Кульный Баг вне форума Ответить с цитированием
Старый 10.03.2012, 21:55   #3
halcyon
crafter
Форумчанин
 
Аватар для halcyon
 
Регистрация: 03.09.2011
Сообщений: 127
По умолчанию

Код:
#include <iostream>

using namespace std;

int main()
	{
		char str[] = "Ololing, trolling the blahing blah, qwerty looking blah blah..";
		cout<<"before: "<<str<<endl;
		for(int i = 0; str[i]; i++)
			{
				if(str[i] == 'i')
					{
						if(str[i+1] == 'n')
							{
								if(str[i+2] == 'g')
									{
										str[i] = 'e';
										str[i+1] = 'd';
										str[i+2] = ' ';
									}else continue;
							}else continue;
					}else continue;
			}
		cout<<"after:  "<<str<<endl;

		getchar();
		return 0;
	}
halcyon вне форума Ответить с цитированием
Старый 10.03.2012, 23:26   #4
lotus1994
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 11
По умолчанию

Код:
	enum {sz = 80};
	char *str;
	
	str = new char[sz];
	
	cout << "Input string: ";
	cin.getline(str, sz);
	
	cout << "st = " << str << endl;
	

	
	for (int i = 0; i < strlen(str) - 2; i++ )
		if ( str[i] == 'i' && str[i + 1] == 'n' && str[i + 2] == 'g' && 
			( str[i + 3] == ' ' || str[i + 3] == '\t' || str[i + 3] == '\0') )
		{
			str[i] = 'e';
			str[i + 1] = 'd';
			
			// часть строки справа сдвинем на 1 символ влево
			for (int j = i + 2; j < strlen(str); j++ )
				str[j] = str[j + 1];
				
		}
 
	cout << "Now str = " << str << endl;
lotus1994 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на Delphi не справляюсь... PaVeJI Помощь студентам 0 12.12.2010 17:47
массивы на ассемблере...нужна доработка,не справляюсь A_L_E_N_K_A Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 28.11.2010 20:15
Комп сам перезагружается myshonok Компьютерное железо 7 27.12.2009 14:48
Сам себе хостинг Kukkk Свободное общение 8 05.10.2009 10:03