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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2010, 21:53   #1
aleksei128
 
Регистрация: 21.12.2010
Сообщений: 8
По умолчанию Последовательность

Нужно зделать такую программу : Начальный элемент последовательности - произвольное четырех цифровое натуральное число, у которого не все цифры равны между собою.Что бы получить следующий член последовательности , возьмем цифры числа. расположим их в порядке спадания и от такого числа отнимем число, образованное этими же цифрами, расположенными в порядке увеличения.Например при 7815 (8715-1578=1713). Повторяем процедуру . Найти границу , до которой стремится такая последовательность . Заранее спасибо
aleksei128 вне форума Ответить с цитированием
Старый 21.12.2010, 22:02   #2
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Ты даже условие не можешь написать нормально

7815 (8751-1578=7173)

И еще одна просьба , можно показать наработки и написать все это , на нормальном русском , что бы было понятно , что именно тебе надо ?
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 21.12.2010, 22:27   #3
aleksei128
 
Регистрация: 21.12.2010
Сообщений: 8
По умолчанию

У меня нет наработок, я не знаю СИ. Мне просто нужна эта программа.
Суть программы
После введения произвольного четырех цифрового натурального числа, у которого не все цифры равны между собою, программа должна вывести последовательность которая получилась и последний член. Что бы получить следующий член последовательности , возьмем цифры числа. расположим их в порядке спадания и от такого числа отнимем число, образованное этими же цифрами, расположенными в порядке увеличения.Например при 7815 (8751-1578=7173). Повторяем процедуру .
aleksei128 вне форума Ответить с цитированием
Старый 21.12.2010, 22:31   #4
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Ухты , мы еще узнали , что тебе надо на С .. А я уже написал ее на Java

Если тебе просто нужна эта программа , то многим здесь просто нужны деньги
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 21.12.2010, 22:37   #5
aleksei128
 
Регистрация: 21.12.2010
Сообщений: 8
По умолчанию

Если нужны деньги, иди работать. А издеваться над своими друзьями будешь.
зы Если здесь есть кто-то ещё , помогите пожалуйста.Спасибо
aleksei128 вне форума Ответить с цитированием
Старый 21.12.2010, 22:41   #6
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от aleksei128 Посмотреть сообщение
Если нужны деньги, иди работать. А издеваться над своими друзьями будешь.
зы Если здесь есть кто-то ещё , помогите пожалуйста.Спасибо
Да я уже работаю , Да и деньги еще никому не вредили . Да и помочь , это не значит что за тебя должны сделать всю задачу
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 21.12.2010, 22:43   #7
aleksei128
 
Регистрация: 21.12.2010
Сообщений: 8
По умолчанию

Я же сказал, что абсолютно не знаю языка си. Чем ещё ты собираешься помочь мне как не полностью зделать задачу??
aleksei128 вне форума Ответить с цитированием
Старый 21.12.2010, 23:05   #8
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Могу тебе подсказать , что бы ты взял книги и начал учить предмет !

P.S. У тебя в условие нет того , когда он должен остановиться
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 21.12.2010, 23:21   #9
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

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

Код:
#include<stdio.h>
#include "stdafx.h"

int funcDown (int num)
{
	int temp[4];
	for (int i = 0; i<4 ; i++)
	{
		temp[i] = num % 10;
		num = num/10;
	}

	for (int i = 0; i<3 ; i++)
		for (int j = i; j<4 ; j++)
		{
			if(temp[i]<temp[j])
			{
				num = temp[i];
				temp[i] = temp[j];
				temp[j] = num;
			}
		}

	int tempNum = 0;
	for (int i = 0; i<4 ; i++)
	{
		tempNum = tempNum*10 + temp[i];		
	}
	return tempNum;
}

int funcUp (int num)
{
	int temp[4];
	for (int i = 0; i<4 ; i++)
	{
		temp[i] = num % 10;
		num = num/10;
	}

	for (int i = 0; i<3 ; i++)
		for (int j = i; j<4 ; j++)
		{
			if(temp[i]>temp[j])
			{
				num = temp[i];
				temp[i] = temp[j];
				temp[j] = num;
			}
		}
	int tempNum = 0;
	for (int i = 0; i<4 ; i++)
	{
		tempNum = tempNum*10 + temp[i];		
	}
	return tempNum;
}

void printNumbers (int number)
{
	int firstNumber,secondNumber,sum;

	if(number > 999)
	{
		firstNumber = funcDown(number);
		secondNumber = funcUp(number);
	    if(firstNumber > 999 && secondNumber > 999)
		{
			printf("\n %d - %d = %d ",firstNumber,secondNumber,firstNumber-secondNumber);
			printNumbers(firstNumber-secondNumber);
		}
	}

	
}


void _tmain()
{
 int arr[20];
 int n;
 printf("Enter number : ");
 scanf("%d",&n);

 printNumbers(n);

 getchar();
}
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---

Последний раз редактировалось andrewpalkin; 21.12.2010 в 23:24.
andrewpalkin вне форума Ответить с цитированием
Старый 21.12.2010, 23:41   #10
aleksei128
 
Регистрация: 21.12.2010
Сообщений: 8
По умолчанию

если это не издёвка то спасибо( я могу только скопировать код).
aleksei128 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Последовательность Mister_bin Помощь студентам 6 14.12.2010 15:37
Последовательность Rapala Общие вопросы Delphi 6 25.04.2010 13:46
Последовательность zasqzasq Помощь студентам 6 24.04.2010 17:22
Последовательность CrazyRabbit Помощь студентам 14 08.02.2009 17:22
последовательность pakusya Помощь студентам 1 17.10.2008 17:33