Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Помогите решить задачу по С++

Закрытая тема
Настройки темы
C/C++ - [решено] Помогите решить задачу по С++

Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 20-12-2011
Описание: правила
  1. По заданному натуральному(целому) числу, определить количество цифр и найти их сумму.
  2. По заданному натуральному(целому) числу, определить количество цифр и найти их сумму. Из указаного диапазона n и m
  3. Выполнить инвертирование трех одномерных массивов: А[20], В[10], С[15]. Написать функции: -Заполнение массива числами в диалоговом режиме. -Вывода одномерного массива -Инвертирование одномерного массива.
  4. Определитьдля каждого из трех одномерных массивов : A[45], B[10], C[20] сколько раз в них встретились два подряд идущих нулевых элемента. Написать функции: -Заполнение массива числами в диалоговом режиме. -Вывода одномерного массива. -Определения количества двух подряд идущих нулевых элементов в одномерном массиве.


Выдержка из правил форума
Цитата:
Вопросы, в которых нет кода и следов ваших размышлений над поставленной задачей также будут перенесены в закрытую тему - Уголок Ленивого Программиста

Исходное сообщение автора

Задание: Написать прогу, которая по заданному натуральному числу определяет количество цифр в нем и их сумму.Протестируйте функцию десятичных чисел из некоторого диапазона от n до m.

Отправлено: 14:54, 27-09-2008

 

Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


в свойствах проекта -> свойства конфигурации -> общие
поставьте использовать многобайтовую кодировку

Отправлено: 15:51, 24-10-2011 | #281



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
#include <math.h>
#include <conio.h>
#include <iostream.h>
#define f(x)(exp( x ) + 2*pow(x,2) - 30)

double F_X(double);  // ???????? ??????? ?? ?????;
double PARABL_METHOD(double, double, double); // ??????? ??? ?????????? ????????

main()
{
	double MIN_VAL = 0.0;			 // ????????? ?????
	double MAX_VAL = 0.0;			 // ???????? ?????
	double ESP = 0.0, MINIMUM = 0.0; // ????????? ????????, ???????
	
	cout << "Vvedite MIN_VAL: ";
	cin >> MIN_VAL;
	cout << "Vvedite MAX_VAL: ";
	cin >> MAX_VAL;
	cout << "Vvedite ESP: ";
	cin >> ESP;

	MINIMUM = PARABL_METHOD(MIN_VAL, MAX_VAL, ESP);

	cout << "Minimum: " << MINIMUM << endl;
	getch();
	return 0;
}
double PARABL_METHOD(double X0, double H, double ESP)
{
	// ????????? ??????????????? ?????
	double X1 = 0.0; 
	double X2 = 0.0; 
	double XN = 0.0; 
	// ????????? ??????????????? ??????????
	double Q = 0.0, A = 0.0, B = 0.0, C = 0.0, D = 0.0, Z = 0.0;
	int k = 0;
	
	X1 = X0 + H;	 // ????????????? ?????? ?????
	X2 = X0 + (2*H); // ????????????? ?????? ?????

	// ????????? ???????? ???????? ????????? ?????? ???????? ??????? ???????
	do
	{
		Q = (X0-X1)/(X1-X2);
		A = (((Q*F_X(X0))-((Q*(1+Q))*F_X(X1)) )+(Q*Q*F_X(X2)));
		B = (((2*Q+1)*F_X(X0))-((1+Q)*(1+Q)*F_X(X1)))+Q*Q*F_X(X2);
		C = (1+Q)*F_X(X0);
		D = sqrt(B*B-(4*A*C));

		if (abs(B+D) > abs(B-D))
			Z=B+D;
		else
			Z=B-D;

		XN = X0 - (((X0-X1)*2*C)/Z);

		F_X(XN);
		// ?????????, ???????? ?? ?? ????????? ????????
		if (abs(F_X(XN) < ESP))
			k=10000;

		// ?????? ????? ???????? ??????
		X2 = X1;
		X1 = X0;
		X0 = XN;
		// ??????????? ???????
		k = k+1;

	} while(k <= 10000); // ???????????? ??????????? ?????
	return XN;
}
// ????????? ???????? ??????? ? ??????
double F_X(double x)
{
	return f(x);
}
можно ли как нибудь упростить данный листинг?

Отправлено: 18:07, 24-10-2011 | #282


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Цитата keksik:
кто знает как это решить?) »
Я знаю!
Цитата keksik:
я не просил решать, я просил подсказки »
Не просили.
Примеры решались? Матрицы рисовались? Пальчиком последовательности перебирались?
Не можешь решить теоретически, решай практически! Потом общий случай получишь.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 16:03, 30-10-2011 | #283


Новый участник


Сообщения: 24
Благодарности: 1

Профиль | Отправить PM | Цитировать


Помогите пожалуйста с этой задачкой:
Дана строка содержащая слова. Вывести на экран слово, являющееся первым в алфавитном порядке.

Отправлено: 23:19, 01-11-2011 | #284


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Вопросы те же :
где собственные размышления?
Какие заданы ограничения?
По решению:
имеет смысл посмотреть на предыдущую работу с массивами, и подумать над применением уже известных методов, для решения поставленной задачи.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 00:15, 02-11-2011 | #285


Аватара для SPD-PrAlex

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Помогите пожалуйста составить программу на C++

Проводится перепись населения. На улице N-домов (N - известно заранее и задается константой).
Число квартир в домах может различаться; это значение вводится с клавиатуры в переменную m для каждого дома. Число жильцов каждой квартиры вводят с клавиатуры.
Сколько всего людей проживает на этой улице?

P.S. Решение производится на C++ со вложенными циклами

-------
Александр Илларионов


Отправлено: 10:52, 02-11-2011 | #286


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


SPD-PrAlex, если вычеркнуть С++, как бы вы решали эту задачу?
Есть 5 домов, 5, 7, 10 этажей, или от 2 до 200 сот квартир, в каждой квартире от 1 до 10 человек.
Как провести перепись населения?
Из чего вообще вообще будет вычитаться кол-во людей? или не будет, или не вычитаться, а умножаться и делиться?

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 11:21, 02-11-2011 | #287


Аватара для Prof

Пользователь


Сообщения: 64
Благодарности: 2

Профиль | Отправить PM | Цитировать


Условие:
Имеем две строки. Из каждой строки разрешается удалять символы, но количество удаленных символов, идущих подряд, не должна превышать W. Задание- удалив минимально возможное количество символов, сделать строки одинаковыми (символы разного регистра считать одинаковыми).
Входящие данные:
Входящий файл содержит в первой строке число W (1 <= W <= 1500), во втором и третьем- две заданных строки, состоящие из цифр и символов английского алфавита (от 1 до 1500 символов).
Исходящие данные:
Исходящий файл должен содержать одну строку, которую можно получить с обеих строк по правилам задачи. Если существует несколько вариантов ответа, вывести любой. Если ответа не существует- вывести No solution.

Личные мысли:
две строки загнать в массивы, потом искать следующим образом a[i-w] (a[i+w]), где a[i]- определённый елемент массива. Если совпадения есть- удаляем, в конце выводим массиыв что остался. Но чтото не идёт мне эта идея: лимит на 4с не пройдёт и врятли w=1500 возьмёт.

Отправлено: 21:07, 03-11-2011 | #288


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Ха. Есть мысль красивее, но о ней потом.
Связана с массивами, поиском в массиве, условием одинаковости строк.
Перебрать за 4с массив в 1500 элементов - крайне просто.
Цитата Prof:
потом искать следующим образом a[i-w] (a[i+w]), где a[i]- определённый элемент массива. Если совпадения есть- удаляем, в конце выводим массиыв что остался. »
Идея не понятна. Как осуществляется поиск? Почему при совпадении мы что-то удаляем?
----
Строки должны быть одинаковыми. Дайте определение "одинаковым строкам", полное, развернутое. Это значительно облегчит решение задачи.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:47, 03-11-2011 | #289


Аватара для Prof

Пользователь


Сообщения: 64
Благодарности: 2

Профиль | Отправить PM | Цитировать


Немного не так сформулировал мысль. Берём первый елемент первого массива, ищем такойже во втором массиве, если есть, запоминаем номера ячеек. Потом удаляем все елементы, номера которых не запоминали. Далле проверяем, если количество удаленных подряд элементов в массиве > W выводим "No solution", если <= W, тогда выводим данные из массива.

Отправлено: 00:39, 04-11-2011 | #290



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Помогите решить задачу по С++

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Помогите решить задачу Urann Программирование и базы данных 11 14-05-2013 11:44
Разное - Помогите решить задачу в Excel Dgonny Программирование и базы данных 2 16-11-2009 04:11
C/C++ - Помогите решить задачу zdughi Программирование и базы данных 1 01-05-2009 06:03
помогите решить задачу snikers Программирование и базы данных 2 27-08-2004 01:57
помогите решить задачу Guest Программирование и базы данных 2 21-05-2004 11:23




 
Переход