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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2017, 22:10   #1
Vlad214587
 
Регистрация: 24.05.2017
Сообщений: 4
По умолчанию Убрать лишний знак

После выполнения программа выводит один лишний знак "*".Подскажите пожалуйста как его убрать.
Код:
#include "stdafx.h" 
#include <iostream> 
#include <math.h> 
#include <clocale> 
#include <string> 
using namespace std;
int const nst = 35;
class Stack
{
private:
	long k[nst];
	long M;
public:
	Stack() { M = 0; };
	void push(long&sFull)
	{
		k[M++] = sFull;
	};
	long pop()
	{
		return k[--M];
	}
	bool pust()
	{
		return M == 0;

	}
};
void main()
{
	setlocale(LC_ALL, "Rus");
	long ch, checkin = 2, sFull = 2, z = 2;
	int stop = 0;
	int mus = 0;
	int f1 = 1;
	Stack SiM, MuS;
	while (z >= 2)
	{
		checkin = 2, sFull = 2;
		stop = 0;
		mus = 0;
		cout << "Введите целое число:";
		cin >> ch;
		while (ch < 2)
		{
			cout << "Неверно!Число должно быть больше 2 или =2.Введите новой значение:";
			cin >> ch;
		}
		z = ch;
		cout << endl;
		if (z > 1)
		{
			while (ch != 1)
			{
				if ((ch % sFull == 0) & (f1 == 1))
				{
					SiM.push(sFull);
					ch = ch / sFull;
					stop++;
				}
				else
				{
					sFull++;
					checkin = 2;
					f1 = 0;

					while (f1 == 0)
						if (sFull % checkin == 0)
							if (sFull == checkin) f1 = 1;
							else break;
						else checkin++;
				}
			}
			;
			cout << z << "=";
			while (!SiM.pust())
			{
				long x = SiM.pop();
				MuS.push(x);
				cout << x << "*";
			}
			cout << endl << endl;
			cout << z << "=";
			while (!MuS.pust())
			{
					cout << MuS.pop() << "*";
			}
			sFull = 0;
			cout << endl << endl;
		}
	}
	system("pause");
}
Vlad214587 вне форума Ответить с цитированием
Старый 24.05.2017, 22:34   #2
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Цитата:
Сообщение от Vlad214587 Посмотреть сообщение
Код:
while (!SiM.pust())
			{
				long x = SiM.pop();
				MuS.push(x);
				cout << x << "*";
			}
Код:
bool started = false;
while (!SiM.pust())
	{
             if (started) cout << "*";
                started = true;
		long x = SiM.pop();
		MuS.push(x);
		cout << x;
	}
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как убрать лишний символ SAM77777 Microsoft Office Excel 14 11.01.2013 14:22
Убрать лишний символ в столбце RUBEY Microsoft Office Excel 2 22.12.2011 13:29
странный char знак - как убрать ? kakawkin Общие вопросы Delphi 3 15.10.2010 08:32
Как убрать лишний Enter? Diego__ Microsoft Office Word 0 25.02.2010 18:14
как убрать знак / в ячейках netoro Microsoft Office Excel 3 25.03.2009 17:38