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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2010, 14:38   #1
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию не могу найти ошибку

программа

Составить программу, которая позволяла бы в ТХТ-файле, указанном пользователем, выравнивать строки путем вставки дополнительных пробелов между словами. Требуемую длину строки определяет пользователь (подразумевается, что она не меньше исходной)

функция, она работает неверно, ошибку найти не могу, подробности того. насколько неправильно она работает - в моем 2 сообщении

Код:
int i;
void
xstring::izmen (int nado)//обработка файловой строки
{
	int raznica=nado-kol;  //получение разницы длин строк
	
	cout<<"raznica="<<raznica; //убрать!
	
	if (prob>=1)  //если в строке после непробельного символа есть пробелы
	{
		while (raznica>0)  //разница между нужной длиной строки и настоящей
		{
			for (i=firstProb;i<kol;i++)     //счет начинаем с первого непробельного символа и оканчиваем strlen (itext)
			{
				if ( (itext[i-1] ==' ')&&(itext[i]!=' ') )  // если предыдущий символ - пробел, а настоящий - не пробел
				{
					for (int k=kol++;k>i;k--)//отсчет ведем с конца
					{		
						itext[k]=itext[k-1]; //копирование предыдущего символа в последующий
						itext[k-1]=' ';   //замена предыдущего символа на пробел
					}
					i++;		//увеличиваем счетчик на 1,чтобы не возвращаться к обработанному символу, который мы уже неренесли на 1 символ вправо
					raznica--;	//уменьшаем разницу символов на 1
				}
				if (raznica==0)
						break;//прекращает выполнение ближайшего охватывающего for
			}
		}
	}
	cout<<itext<<endl;//убрать!
}
Изображения
Тип файла: jpg loloerror.jpg (63.0 Кб, 43 просмотров)
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery

Последний раз редактировалось kaljan775; 23.10.2010 в 17:10.
kaljan775 вне форума Ответить с цитированием
Старый 23.10.2010, 14:44   #2
Xeonc
Форумчанин
 
Регистрация: 20.10.2010
Сообщений: 143
По умолчанию

У меня в рабочей программе был косяк с тем, что один из файлов ни в какую не читал в Unicode, только в Ansi. Попробуй поменять кодировку - и посмотри что получится
451 -870-7(три)6. Выполняю работы на заказ, гарант честности - ВМ аттестат с 60+ БЛ без претензий
Xeonc вне форума Ответить с цитированием
Старый 23.10.2010, 17:05   #3
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

обработка происходит из вот такой строки
Цитата:
The street was built ca. 1710, and
run from Nevsky Prospekt to the Gor
превращаясь вот в такую:
Цитата:
The street was built ca. 1710, and R Read-only files

ї H Hidden files A Files ready for archiving

S System files - Prefix me'
run from Nevsky Prospekt to the Gor
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти ошибку IgorGO Microsoft Office Excel 11 17.09.2010 16:28
не могу найти ошибку! novi4ok_Delphi Помощь студентам 4 24.04.2010 21:46
С++. не могу найти ошибку world12_tk Помощь студентам 3 25.07.2009 10:47
Не могу найти ошибку Tesmont Помощь студентам 2 20.05.2009 21:00