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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2008, 20:28   #1
TheWanderer
Пользователь Подтвердите свой е-майл
 
Регистрация: 01.10.2008
Сообщений: 82
По умолчанию Помогите решить задачу на C++

Вот сама задача:
Напишите программу, которая выводит на экран таблицу значений функции у = 2х2-5х-8 в диапазоне от -4 до 4. Шаг изменения аргумента 0,5.
Пожалуйста объясните кто ни будь как эту задачу сделать.
TheWanderer вне форума Ответить с цитированием
Старый 06.10.2008, 21:33   #2
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

Цитата:
#include "iostream"

int main()
{
float y = 0;
for (float x = -4; x <= 4; x += 0.5)
{
y = 2*2 - 5*x - 8;
printf("x = %f y = %f\n", x, y);
}
return 0;
}
Ну как то так... писал сходу, но по идее все правильно

Последний раз редактировалось vvviperrr; 06.10.2008 в 21:36.
vvviperrr вне форума Ответить с цитированием
Старый 06.10.2008, 22:08   #3
TheWanderer
Пользователь Подтвердите свой е-майл
 
Регистрация: 01.10.2008
Сообщений: 82
По умолчанию

Сории...задание не правильно написал...
При написании программы надо использованием оператора while.
И ещё я пример неправильно написал, он должен выглядмть так:
TheWanderer вне форума Ответить с цитированием
Старый 06.10.2008, 22:26   #4
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

Код:
#include "iostream"
#include "math.h"

int main()
{
	float y = 0;
	float x = -4;

	while (x <= 4)
	{
		y = (2*(x*x)) - (5*x) - 8;
		printf("x = %f y = %f\n", x, y);
		x += 0.5;
	}

	return 0;
}
надеюсь ты хоть переписать правильно сможешь
vvviperrr вне форума Ответить с цитированием
Старый 07.10.2008, 19:15   #5
TheWanderer
Пользователь Подтвердите свой е-майл
 
Регистрация: 01.10.2008
Сообщений: 82
По умолчанию

Спасибо за помощь.
TheWanderer вне форума Ответить с цитированием
Старый 07.10.2008, 22:46   #6
TheWanderer
Пользователь Подтвердите свой е-майл
 
Регистрация: 01.10.2008
Сообщений: 82
По умолчанию

Помогите разобраться в одной задачке.
Вот сама задача:
Напишите программу, которая проверяет, является ли введённое пользователем число простым. Программу надо написать с использованием инструкции do while
Вот программа, которую я написал:
Код:
#include "iostream"

using namespace std;

void main ()
{
	setlocale(LC_ALL,"Russian");
	int n,d,r;
	printf("Введите целое число-> "); cin >> n;
	d = 2;
	do 
	{
		r = n % d;
		if (r != 0)d++;
	}
	while ( r != 0 );
	printf("%i - простое число\n ",n);
	else printf("%i - не простое число ",n);
	system("PAUSE");
}
При выполнение этой команды появляеться токое сообщение об ошибке:
1>------ Build started: Project: является ли введённое пользователем, Configuration: Debug Win32 ------
1>Compiling...
1>является ли введённое пользователем число простым.cpp
1>e:\xxx.cpp(18) : error C2181: illegal else without matching if
1>Build log was saved at "file://e:\BuildLog.htm"
1>xxx - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Как я понял он ругаеться на эту строчку(Видимо что то не правильно написал)
Код:
else printf("%i - не простое число ",n);
Как изменить эту строку что бы исчезло сообщение об ощибке?

Последний раз редактировалось TheWanderer; 08.10.2008 в 19:28.
TheWanderer вне форума Ответить с цитированием
Старый 07.10.2008, 23:20   #7
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

у тебя прога в корне не правильная. ты пытаешься в цикле делить свое число на инкрементную переменную до тех пор, пока остаток от деления не равен 0, т.е число простое. в реале, у тя пропущена строка с условием, простое ли это число. как я понял, там должно быть что то типо
if (d == n) Значит простое. но не правильно это.
например я введу число 4. твоя прога скажет что оно простое. не буду готовый код писать, я и так тебе тут расписал туториал
vvviperrr вне форума Ответить с цитированием
Старый 07.10.2008, 23:36   #8
reset
Пользователь
 
Регистрация: 21.09.2008
Сообщений: 14
По умолчанию

Учи мат. часть.
Примерно должно быть так. Ток нуна добавить обработку ошибок.
Код:
#include <iostream>

int main(int argc, char** argv)
{
	int num;
	bool flag;
	std::cout << "Введите целое число: ";
	std::cin >> num;
	
	if(num == 1)
	{
		std::cout << num << " - не простое число" << std::endl;
		return 0;
	}
	
	for(int i = 2; i < num; ++i)
	{
		flag = true;
		if(num % i == 0)
		{
			std::cout << num << " - не простое число" << std::endl;
			flag = false;
			break;
		}
	}
	
	if(flag || num == 2) std::cout << num << " - простое число" << std::endl; 
	
	
	return 0;
}
reset вне форума Ответить с цитированием
Старый 08.10.2008, 19:28   #9
TheWanderer
Пользователь Подтвердите свой е-майл
 
Регистрация: 01.10.2008
Сообщений: 82
По умолчанию

есть одно но: Программу надо написать с использованием инструкции do while
TheWanderer вне форума Ответить с цитированием
Старый 08.10.2008, 21:16   #10
reset
Пользователь
 
Регистрация: 21.09.2008
Сообщений: 14
По умолчанию

Не вижу проблем переделать инструкцию for в do while. Счетчик поставь внутрь цикла, проверку ту же. Зачем дело-то встало???
reset вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу pantera_88.07 Общие вопросы C/C++ 2 21.02.2008 15:09
Помогите решить задачу. Shady Общие вопросы Delphi 7 10.11.2007 23:09
Помогите решить задачу cL1zMa Паскаль, Turbo Pascal, PascalABC.NET 5 15.12.2006 11:04