Ir para conteúdo
Fórum Script Brasil
  • 0

Alguém consegue converter esse programa de c++ pra c#, por favor


Gabriel Alves Carola

Pergunta

#include <iostream>
using namespace std;

void mostraMatriz(int m[][102], int tamanho)
{

	for(int y = 0; y < tamanho; y++)
	{
		for(int x = 0; x < tamanho; x++)
		{

			cout << "" << m[y][x];
		}
		cout << endl;
	}
}

int main(int argc, char *argv[])
{
	int n, fim, centro, ind1par, ind1impar, fim1impar, fim1par, centroAux, iniDiagonalSecundaria;
	while (cin >> n)
	{
		ind1impar = n / 3;
		ind1par = ind1impar - 1;
		fim = n - 1;
		iniDiagonalSecundaria = n - 1;

		//Preenche a matriz toda com 0
		int matriz[102][102] = {{0}};

		//Guarda em centro o índice do centro
		centro = n / 2;
		centroAux = centro - 1;
		fim1impar = n - ind1impar - 1;
		fim1par = n - ind1impar;

		//Percorre a matriz
		for(int i = 0; i < n; i++)
		{
			for(int j = 0; j < n; j++)
			{
				//Se o tamanho for ÍMPAR
				if (n % 2 != 0)
				{
					//Preenche o centro com o 4
					if (i == centro && j == centro)
					{
						matriz[centro][centro] = 4;
					}
					//Preenche com 1
					else if (i >= ind1impar && j >= ind1impar && i <= fim1impar && j <= fim1impar)
					{
						matriz[i][j] = 1;
//						cout << matriz[i][j];
					}

					//Preenche com 2
					else if (i == j)// && !(i >= ind1impar && j >= ind1impar && i <= fim1impar && j <= fim1impar))
					{
						matriz[i][j] = 2;
//						cout << matriz[i][j];
					}
					//Preenche com 3
					else if (j == iniDiagonalSecundaria)
					{
						matriz[i][j] = 3;
//						cout << matriz[i][j];
						//iniDiagonalSecundaria--;
					}
				}
				//Se o tamanho for PAR
				else
				{
					//Preenche o centro com 4
					if ((i == centro && j == centro) || (i == centroAux && j == centroAux) || (i == centroAux && j == centro) || (i == centro && j == centroAux))
					{
						matriz[centro][centro] = 4;
						matriz[centroAux][centroAux] = 4;
						matriz[centroAux][centro] = 4;
						matriz[centro][centroAux] = 4;
					}
					//Preenche com 1
					else if (i >= ind1par && j >= ind1par && i <= fim1par && j <= fim1par)
					{
						matriz[i][j] = 1;
//						cout << matriz[i][j];
					}
					//Preenche com 2
					else if (i == j)// && !(i >= ind1par && j >= ind1par && i <= fim1par && j <= fim1par))
					{
						matriz[i][j] = 2;
//						cout << matriz[i][j];
					}
					//Preenche com 3
					else if (j == iniDiagonalSecundaria)
					{
						matriz[i][j] = 3;
//						cout << matriz[i][j];
						//iniDiagonalSecundaria--;
					}
				}
				cout << matriz[i][j];
				if (j == fim) iniDiagonalSecundaria--;
			}
			cout << endl;
		}
		cout << endl;
		//mostraMatriz(matriz, n);
	}

	return 0;
}
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...