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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2015, 18:17   #1
Nastya15684
 
Регистрация: 21.10.2015
Сообщений: 3
По умолчанию Исправьте пожалуйста!

Исправьте пожалуйста!! Очень срочно!!

Вот задание:
Строка состоит из символов, среди которых, в частности могут
быть цифры. Последовательность цифр (возможно включая плавающую
точку), отделенную любыми другими символами, следует считать
числами. Строка задается пользователем с клавиатуры.
Для каждого выделенного из данной строки числа с плавающей
запятой выполнить округления. Округление выполнить до знака после
точки, порядковый номер которого задается пользователем с клавиатуры.
Если округления необходимо выполнить до второго знака, то с дробной
части оставить только две первые цифры (или вторую изменить с
правилам округления), а все остальные удалить.
Предусмотреть исключения из целой части лишних нулей. Лишними
считать нули, расположенные в начале числа (0010 превратить в 10).
Вывести на экран строку, образованную из введенного пользователем
путем выполнения указанных действий.

Код:
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
	ostringstream os;
	setlocale(LC_ALL, "rus");
	char str[100]; 
	cout << "Введите строку:" << endl;
	cin.getline(str, 100);
	int n;
	cout << "Введите точность:" << endl;
	cin >> n;
	const char str1[] = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz/;:?!() ";
	char *Ptr = NULL;
	Ptr = strtok(str, str1);
	cout << "Результат:";
	while (Ptr)
	{
		double around = int(atof(Ptr)*pow(10, n)) / pow(10, n);
		os << around;
		Ptr = strtok(0, str1);
	}
	string result = os.str();
	string text(*Ptr, sizeof(*Ptr));
	text = result;
	cout << str << endl;
	system("pause");
	return 0;
}

Последний раз редактировалось Stilet; 28.10.2015 в 18:59.
Nastya15684 вне форума Ответить с цитированием
Старый 28.10.2015, 19:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А чем твой вариант не катит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2015, 19:22   #3
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А чем твой вариант не катит?
Катит. Только скопипастил и ничего не понял. Решил, что здесь универсальные решальщики сидят, кроме своих тапочек нихрена не видят. Не буду приводить сайт, с которого он это слямзил, дабы не рекламировать ресурс.
И потом, это не Си и не Си++. Сдаётся мне, что это Си#. Утверждать не буду, сам его ооочень плохо знаю.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 28.10.2015 в 19:26.
Smitt&Wesson вне форума Ответить с цитированием
Старый 28.10.2015, 19:38   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нет, Это плюсы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исправьте ошибку пожалуйста AdelinaMango Общие вопросы C/C++ 1 10.04.2014 20:47
Исправьте ошибку пожалуйста Алиса_1515 Помощь студентам 1 03.12.2009 19:12
SOS! Исправьте пожалуйста макрос. Viento Microsoft Office Excel 9 27.07.2009 05:43
Си++. Исправьте пожалуйста ошибки megavolt91 Помощь студентам 3 29.05.2009 16:02
Исправьте пожалуйста программу Алексей_xXx Помощь студентам 2 29.05.2009 05:11