Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 15.12.2011, 11:00   #1
Tol-333
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 10
Репутация: 10
По умолчанию Перевод программы из С++ в С#

Доброго времени суток, помогите с переводом вот этой программы:


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


int check(int a[8])	//Проверка троичного числа на ситуацию переполнения
{
	for (int i=0;i<=7;i++) 
		if (a[i]!=2) return 0; 
	return 1;				   	
}

long work(int a[8])
{
	long sum=0,l=123456789;
	int k=0;				//Счетчик количества цифр
	for (int i=7; i>=0; i--)
	{
		int c1=1;
		k++; 
		switch(a[i])		//Вычленение слагаемых из L
		{
			case 0:	
				{
					break;
				}
			case 1: 
				{
					for (int j=1; j<=k; j++)
						c1*=10;			
					sum+=(l % c1);	
					l/=c1;			
					k=0;		
					break;
				}
			case 2: 
				{
					for (int j=1; j<=k; j++)
						c1*=10;				
					sum-=(l % c1);			
					l/=c1;
					k=0;
				}
		}
	}
	sum+=l;		//Прибавление последнего, неучтенного слагаемого
	return sum;
}

void output(int a[8])	// Вывод подходящей схемы
{
	cout<<1;
	for (int i=0; i<=7; i++)
	{
		switch(a[i])
		{
			case 0:
				{
					break;
				};
			case 1:
				{
					cout<<'+';
					break;
				}
			case 2:
				{
					cout<<'-';
				}
		}
		cout<<i+2;
	}			
}

int main()
{
	long m;
	cout << "Vvedite M ";
	cin >> m;				
	int a[8];	//Троичное число, представляющее схему расстановки знаков
	for (int i=0; i<=7; i++)
	{
		a[i]=0;
	}
	a[7]=-1; 
	do			//Перебор всех вариантов
	{
		a[7]++;
		for (int i=7; i>=0; i--) 
		{
			if (a[i] == 3) 
			{
				a[i] = 0; 
				a[i-1]++; 
			}
		}
		if (work(a) == m) 
		{
			output(a); 
			cout<<"\n";
		}
	}
	while (check(a) != 1); 
	return 0;			   
}
Используйте тэг Code

Последний раз редактировалось alexBlack; 15.12.2011 в 13:56.
Tol-333 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод программы (С++) Кристинка89 Помощь студентам 1 22.11.2011 15:45
Перевод программы с Паскаль на С++ Sentteriys Общие вопросы C/C++ 1 16.05.2011 22:40
Перевод программы с Pascal в C++ !!! !! ProgFrog Помощь студентам 0 09.04.2011 14:21
Перевод программы с Pascal в C++ GoodSpirit Помощь студентам 4 19.05.2010 18:04


01:51.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.