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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2013, 01:34   #1
linberg
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 18
По умолчанию С++.рядом с каждой буквой записать заданное пользователем количество таких же букв.

доброго времени суток.
я уже создавала такую тему, но мне не помогло, надеюсь меня не забанят
задание было такое.
вычислить в строке количество букв (трудностей не вызвало), в коде это уже есть, осталось рядом с каждой буквой записать заданное пользователем количество таких же букв.
т.е мы вводим строчку заново, или используем уже введенную , например было Helo, нужно получит HHHeeelllooo.
желательно сразу в этот код запихать. очень сильно надеюсь на вас!
кстати, попытки сделать это не были успешными, на экран выводилось все что угодно (начиная от букв каких-то , заканчивая смайликами и другими "картинками"). я знаю что так писать нельзя но... ЛЮДИ СПАСАЙТЕ!
и еще одна небольшая просьба, мне не нужно решение в лоб, желательно с небольшими расшифровками-подсказками, ибо для меня главное не сделать , а разобраться

Код:
#include <iostream> 
#include <cstring> 
#include "work_4.h"
using namespace std;
int main() 
{
    char tmp [80]; // Объявления массива для строки
	char* pS; // Объявление указателя под строку tmp
	cout<<"Please, enter string "<<endl; // Вывод на экран
	do // Начало цикла, в котором будут вводиться и обрабатываться строки
	{
		cin.getline(tmp,80); // Ввод строки
		pS = new char[strlen(tmp) + 1]; // Выделение памяти под строку и нулевой байт
		strcpy_s (pS, strlen(tmp) + 1, tmp); // Копирование строки в pS

		if( isdigit(*pS)) // Проверка условия: если цифра , 
			break; //то строки больше не вводятся
		{// подсчет количества букв в строке
			int count (0);  
			for ( int i (0) ; i < strlen(pS); i++) 
			if(isalnum(pS[i])) 
            count++; 
			cout << "Letters per line : " << count << endl ;
			delete [] pS ;
		}
		 
//"пихать" сюда ;))
	 
	}while (true);
			delete [] pS;
		system("pause");
		return 0;
}
linberg вне форума Ответить с цитированием
Старый 25.12.2013, 02:50   #2
Skolos
Пользователь
 
Регистрация: 09.12.2011
Сообщений: 36
По умолчанию

Код писать не буду. Скажу алгоритм.
Количество повторений букв - n;
Количество всех букв в строке - x;
Буфер, куда заносятся буквы - a;
Массив куда вписывается новая строка.
Запускаешь цикл повторяющийся х раз;
заносишь первую, вторую и т.д. в буфер а;
запускаешь цикл который повторяется n раз и в нем записываешь в массив символ А;
ВСЕ! прога выдаст все необходимое. Если хочешь разобраться, сделаешь.
Skolos вне форума Ответить с цитированием
Старый 25.12.2013, 02:58   #3
linberg
Пользователь
 
Регистрация: 29.09.2013
Сообщений: 18
По умолчанию

все круто-классно, но нельзя использовать дополнительные блоки и массивы
linberg вне форума Ответить с цитированием
Старый 25.12.2013, 03:08   #4
Skolos
Пользователь
 
Регистрация: 09.12.2011
Сообщений: 36
По умолчанию

Тогда изначально массив должен быть в разы больше строки.
Я бы делал так, нужно 3 копии букв:
Циклом переписываешь все символы, начиная с последнего на 2 позиции вперед. кроме первого. 2у и 3у символам присваиваешь значение первого.
Дальше цыкл прыгает на 4й символ и история повторяется. Буквы переносятся на 2 позиции вперед до 4го. И его копируешь на мексто 5 и 6. Ни одного лишнего буфера и масива.
Skolos вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработка строк С++. рядом с каждой буквой в строке записать какое-нибудь количество таких же букв. linberg Помощь студентам 3 21.12.2013 20:00
Посчитать количество таких символов в строке HSR Общие вопросы Delphi 4 19.11.2012 14:23
Заданы М строк слов, которые вводятся с клавиатуры. Вводятся слог (последовательность букв). Подсчитать количество слогов в каждой cheloveg Паскаль, Turbo Pascal, PascalABC.NET 1 12.12.2011 08:00
Заданное натуральное число записать прописью lonely_soul Паскаль, Turbo Pascal, PascalABC.NET 9 29.04.2011 12:51
Подсчитать количество букв "А" в предложении и общее количество букв.В тексте из файла несколько строк. kvas91 Общие вопросы C/C++ 3 14.11.2010 16:51