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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2013, 23:06   #1
alexb4
Пользователь
 
Регистрация: 09.06.2013
Сообщений: 22
Печаль Есть две задачи С++

Визуал студии надо написать

1)Даны пять чисел. Большее из них возведите в квадрат, а из меньшего необходимо извлечь квадратный корень.
Тест. 18;26; 9;45;32.
Результат. 2025; 3.
2)Найдите все тройки натуральных чисел х, у, z, для которых:
1/х +1/у +1/z =1, при этом х<= у <=z.
Результат. (2, 3, 6); (2, 4, 4); (3, 3, 3).
alexb4 вне форума Ответить с цитированием
Старый 09.06.2013, 23:16   #2
revizor
Форумчанин
 
Аватар для revizor
 
Регистрация: 20.01.2013
Сообщений: 146
По умолчанию

Цитата:
1)Даны пять чисел. Большее из них возведите в квадрат, а из меньшего необходимо извлечь квадратный корень.
Код:
#include <iostream>
#include <cstdio>

int main()
{
	setlocale(LC_ALL, "");
	
	const int SIZE=5;
	int a[SIZE];
	int indexMin, indexMax;

	std::cout << "Введи " << SIZE << " чисел : ";
	for (int i=0; i<SIZE; ++i)
		std::cin >> a[i];
	std::cout << std::endl;

	indexMin=indexMax=0;
	for (int i=1; i<SIZE; ++i)
	{
		if (a[i]<a[indexMin]) indexMin=i;
		if (a[i]>a[indexMax]) indexMax=i;
	}

	a[indexMin]=sqrt(double(a[indexMin]));
	a[indexMax]=pow(double(a[indexMax]), 2);

	std::cout << a[indexMax] << "; " << a[indexMin] << "." << std::endl;

	system("pause");	
	return 0;
}
Цитата:
2)Найдите все тройки натуральных чисел х, у, z, для которых:
1/х +1/у +1/z =1, при этом х<= у <=z.
Результат. (2, 3, 6); (2, 4, 4); (3, 3, 3).

Код:
#include <iostream>
#include <cstdio>

int main()
{
	setlocale(LC_ALL, "");
	
	const int MAX=10000;

	for (int x=1; x<MAX; ++x)
		for (int y=x; y<MAX; ++y)
			for (int z=y; z<MAX; ++z)
				if (abs(1.0/x + 1.0/y + 1.0/z - 1) < 1e-6)
					std::cout << "(" << x << ", " << y << ", " << z << "); ";

	std::cout << std::endl;
	system("pause");	
	return 0;
}
У этой задаче наверно должно быть более простое решение, чем перебор

Цитата:
Визуал студии надо написать
я написал...

Последний раз редактировалось Stilet; 11.06.2013 в 10:26.
revizor вне форума Ответить с цитированием
Старый 10.06.2013, 21:37   #3
alexb4
Пользователь
 
Регистрация: 09.06.2013
Сообщений: 22
По умолчанию

revizor спасибо! все сошлось... И если не сложно могли бы посоветовать хорошие уроки по языку Си?
alexb4 вне форума Ответить с цитированием
Старый 10.06.2013, 21:59   #4
revizor
Форумчанин
 
Аватар для revizor
 
Регистрация: 20.01.2013
Сообщений: 146
По умолчанию

да я сам плохо знаю язык Си. вот если С++, то посоветовал бы чего нибудь
revizor вне форума Ответить с цитированием
Старый 10.06.2013, 22:01   #5
alexb4
Пользователь
 
Регистрация: 09.06.2013
Сообщений: 22
По умолчанию

Вот С++ не помешал бы на данный момент с ним запары а времени мало разбирать чисто физически не успеваю((
alexb4 вне форума Ответить с цитированием
Старый 10.06.2013, 22:12   #6
revizor
Форумчанин
 
Аватар для revizor
 
Регистрация: 20.01.2013
Сообщений: 146
По умолчанию

вот эти хорошие книги по С++

1. Прата С. Язык программирования С++ Лекции и упражнения 2011
2. Харви М. Дейтел, Пол Дж. Дейтел Как программировать на C++ (2008)
3. Липпман С., Лажойе Ж., Му Б. - Язык программирования С++. Вводный курс

они легкие и в конце каждой главы есть задачи
revizor вне форума Ответить с цитированием
Старый 10.06.2013, 22:25   #7
alexb4
Пользователь
 
Регистрация: 09.06.2013
Сообщений: 22
По умолчанию

revizor еще вопрос если не сложно объснить где что происходит просто кое какие команды понятны а какие то не могу понять(
alexb4 вне форума Ответить с цитированием
Старый 10.06.2013, 22:32   #8
revizor
Форумчанин
 
Аватар для revizor
 
Регистрация: 20.01.2013
Сообщений: 146
По умолчанию

а для какой задачи объяснить?
revizor вне форума Ответить с цитированием
Старый 10.06.2013, 22:33   #9
alexb4
Пользователь
 
Регистрация: 09.06.2013
Сообщений: 22
По умолчанию

для первой
alexb4 вне форума Ответить с цитированием
Старый 10.06.2013, 22:43   #10
revizor
Форумчанин
 
Аватар для revizor
 
Регистрация: 20.01.2013
Сообщений: 146
По умолчанию

немного комментариев написал

Код:
#include <iostream>
#include <cstdio>

int main()
{
	setlocale(LC_ALL, "");	// чтоб в консоле были русские буквы
	
	const int SIZE=5;		// кол-во чисел
	int a[SIZE];			// это массив. в нем будут записаны эти числа
	int indexMin, indexMax;	// индексы массива, где находятся минимальное число и максимальное

	// тут вводим 5 чисел в массив. 1-ое число в a[0], 2-ое в a[1] и т.д.
	std::cout << "Введи " << SIZE << " чисел : ";
	for (int i=0; i<SIZE; ++i)
		std::cin >> a[i];
	std::cout << std::endl;

	// здесь вычисляем индексы где находится минимальное число и максимальное
	indexMin=indexMax=0;
	for (int i=1; i<SIZE; ++i)
	{
		if (a[i]<a[indexMin]) indexMin=i;
		if (a[i]>a[indexMax]) indexMax=i;
	}

	// Большее из них возведите в квадрат, а из меньшего необходимо извлечь квадратный корень.
	a[indexMin]=sqrt(double(a[indexMin]));		// a[indexMin] - это меньшее число во всем массиве. из него извлекается квадратный корень
	a[indexMax]=pow(double(a[indexMax]), 2);	// a[indexMax] - это большее число во всем массиве. оно возводится в квадрат

	
	std::cout << a[indexMax] << "; " << a[indexMin] << "." << std::endl;

	system("pause");		// пауза	
	return 0;
}
если что не поймешь - спрашивай )
revizor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть две задачки reddyk Общие вопросы Delphi 3 17.05.2012 17:18
Решается судьба.. Надо решить две задачи.Мне задачи, вам практика и мое уважение) romichj Общие вопросы C/C++ 3 30.03.2012 00:33
Есть две таблицы Exl fokusnig Помощь студентам 0 06.12.2011 15:09
Есть две задачи:первая связана с массивом, вторая-вывести 5 первых совершенных чисел.(платно) Andreevi4_p Помощь студентам 5 24.06.2011 16:44