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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2015, 22:02   #21
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Нет. Не такого. Читай ТЗ внимательнее
То есть, запускается программа. Пользователь вводит число, а программа должна вывести ряд до этого числа.
Код:
Пример:
Пользователь вводит 25.
Программа выдает:
1 1 2 3 5 8 13 21
Правильно понял?)

Последний раз редактировалось Dima-91; 26.11.2015 в 22:09.
Dima-91 вне форума Ответить с цитированием
Старый 26.11.2015, 22:04   #22
chipside
Форумчанин
 
Регистрация: 03.08.2013
Сообщений: 208
По умолчанию

Добавляю от себя задания! Попробуй написать программу преобразования из римских цифр в арабские и наоборот. Ещё задача. Преобразование форматов дат ДДММГГ -> ДДММГГГГ, ММДДГГ -> ДДММГГГГ, ГГММДД -> ДДММГГГГ и т.д.. С параметром командной строки для того, чтобы понять из какого формата даты в какой преобразовывать. Удачи.
chipside вне форума Ответить с цитированием
Старый 26.11.2015, 22:08   #23
chipside
Форумчанин
 
Регистрация: 03.08.2013
Сообщений: 208
По умолчанию

Цитата:
Сообщение от Dima-91 Посмотреть сообщение
То есть, запускается программа, сразу есть ряд Фибоначчи.
Пользователь вводит число, а программа должна вывести ряд до этого числа.
Код:
Пример:
1 1 2 3 5 8 13 21 34
Пользователь вводит 25.
Программа выдает:
1 1 2 3 5 8 13 21
Правильно понял?)
Нет, Дима, ты немного запутался. Если пользователь ввёл 25, то ряд надо начинать со следующего номера.
Код:
void fib ( const int Entry ) {
//...
for ( int x = Entry, x < // И поехал далее.
//...
}

Последний раз редактировалось chipside; 26.11.2015 в 22:10.
chipside вне форума Ответить с цитированием
Старый 26.11.2015, 22:14   #24
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от chipside Посмотреть сообщение
Нет, Дима, ты немного запутался. Если пользователь ввёл 25, то ряд надо начинать со следующего номера.
В задании сказано "вывод ряда до указанного числа.". Вы уверены что нужно с 25 начинать.

В общем я понял задание так. Сразу программа просит ввести число.
Пользователь вводит. Функция сравнения ищет ближайшее из ряда Фибонначи. И после цикл вывода чисел до ближайшего.
Dima-91 вне форума Ответить с цитированием
Старый 26.11.2015, 22:21   #25
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Правильно понял?)
Задания нужно читать ВНИ-МА-ТЕЛЬ-НО
Еще раз перечитай задание, и поразмысли, подходит ли под него твой пример.

P.S. Я не шучу.
P.P.S И это не глупая придирка.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.11.2015, 22:58   #26
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Виталий я понимаю, что это важно внимательно прочитать задание.
"Описать класс ряда Фибоначчи" что означает не пойму.
Попытка №2.
Код:
#include <stdio.h>
#include <iostream.h>
#include <windows.h>
int fib(int n)
{
	if (n < 3) return 1;
	return fib(n - 1) + fib(n - 2);
}

int _tmain(int argc, _TCHAR* argv[])
{
	SetConsoleCP(1251);//          решение проблемы с 
	SetConsoleOutputCP(1251);// русским языком.
	long int n, x;
	int r,t;
	int k = 0;
	x = 46; // использую 46, т.к. после 47 long int будет с не корректными значениями (прочитал в интернете)
	std::cout<<"Введите число"<<"\n";
	std::cin>>n;
	for (int i = 1; i <= x; i++) // цикл поиска ближайших чисел ряда Фибонначи
	{
		if (fib(i) < n )
		{
		r = fib(i);
		k++;
		}
		else
		{
		t = fib(i);
		break;
        }
	}
	if ((n-r)<(t-n)) //Сравнение этих чисел и вывод результата в виде ряда Фибоначчи до искомого числа.
	{
		for ( int j = 1; j <=k; j++)
		{
			std::cout<<fib(j)<<' ';
		}
	}
	else
	{
		for (int j = 0; j<=k+1;j++)
		{
			std::cout<<fib(j)<<' ';
		}
	}
	system("pause");
	return 0;
}
Попытка №3
Код:
#include <stdio.h>
#include <iostream.h>
#include <windows.h>


int fib(int n)
{
	if (n < 3) return 1;
	return fib(n - 1) + fib(n - 2);
}

int _tmain(int argc, _TCHAR* argv[])
{
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
	long int n, x;
	int r,t;
	int k = 0;
	x = 46;
	std::cout<<"Введите число"<<"\n";
	std::cin>>n;
	for (int i = 1; i <= x; i++)
	{
		if (fib(i) < n )
		{
		r = fib(i);
		k++;
		}
		else
		{
		t = fib(i);
		break;
        }
	}
	if ((n-r)<(t-n))
	{
		for ( int j = 1; j <=k; j++)
		{
			std::cout<<fib(j)<<' ';
		}
		std::cout<<n<<"\n";
	}
	else
	{
		for (int j = 0; j<=k;j++)
		{
			std::cout<<fib(j)<<' ';
		}
		std::cout<<n<<"\n";
	}
	system("pause");
	return 0;
}
В 3 попытке малость ответ изменил, принцип действия остался.

Последний раз редактировалось Dima-91; 26.11.2015 в 23:32.
Dima-91 вне форума Ответить с цитированием
Старый 26.11.2015, 23:18   #27
chipside
Форумчанин
 
Регистрация: 03.08.2013
Сообщений: 208
По умолчанию

Прошу прощения не сразу понял где само задание.
chipside вне форума Ответить с цитированием
Старый 26.11.2015, 23:23   #28
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от chipside Посмотреть сообщение
Прошу прощения не сразу понял где само задание.
http://www.programmersforum.ru/showp...18&postcount=2
Второй пост темы.
Dima-91 вне форума Ответить с цитированием
Старый 26.11.2015, 23:27   #29
chipside
Форумчанин
 
Регистрация: 03.08.2013
Сообщений: 208
По умолчанию

http://www.php.su/forum/topic.php?forum=1&topic=3141
Лично у меня по умолчанию utf-8 и проблем с символами кириллицы нет, для виндовс не должно быть и проблем с windows-1251 (cp1251).
chipside вне форума Ответить с цитированием
Старый 26.11.2015, 23:33   #30
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от chipside Посмотреть сообщение
http://www.php.su/forum/topic.php?forum=1&topic=3141
Лично у меня по умолчанию utf-8 и проблем с символами кириллицы нет, для виндовс не должно быть и проблем с windows-1251 (cp1251).
Проблему с языком решил, в коде уже прописал чем. Вы используете setlocale ( LC_... , ru_Ru utf-8)?
Dima-91 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
что вас мотивирует, почему вы предпочитаете именно работу за компьютером, работу программиста? sgasgar Свободное общение 47 03.05.2016 07:27
Какая у вас была мотивация для начала и изучения программирования? monolit9951 Свободное общение 22 14.02.2014 19:57
Мотивация к программированию Nik_Parker Свободное общение 30 05.10.2013 19:12
Программирование, мотивация, перспективы Frants Свободное общение 6 03.10.2012 23:52