Jump to content
flavionorvel

Converter linguagem C para visualg

Recommended Posts

#include <stdio.h>
#include <stdlib.h>
// Limites de tamanhos
#define MINIMO 2
#define MAXIMO 50
// Variáveis globais
int opcao = 0;
int linhas = MAXIMO;
int colunas = MAXIMO;
int matrizA[MAXIMO][MAXIMO];
int matrizB[MAXIMO][MAXIMO];
void limpar_tela();
// Retorna resposta do usuario se quer rodar novamente
int rodar_novamente()
{
int opcao = 0;
printf("\n\nDeseja rodar novamente? Digite 1 para SIM e 0 para Não: ");
scanf("%d",&opcao);
if (opcao == 1 || opcao == 0) {
return opcao;
}
printf("\nOpcao invalida. Escolha novamente.");
return rodar_novamente();
}
// Recebe valor inteiro do usuario
int receber_numero()
{
int numero = 0;
scanf("%d",&numero);
if (numero >0) {
return numero;
}
printf("\nNúmero inválido. digite um número positivo.: ");
return receber_numero();
}
// Valida tamanhos de linhas e colunas
int validar_tamanhos(int linhas, int colunas)
{
if ((linhas >= MINIMO && linhas <= MAXIMO) && (colunas >= MINIMO && colunas <= MAXIMO) && (linhas !
= colunas)) {
return 1;
}
printf("\nLinhas e Colunas devem ser diferentes e ter valores entre %d e %d. Tente
novamente.",MINIMO,MAXIMO);
return 0;
}
// Preencher matriz
void preencher_matriz(int matriz[MAXIMO][MAXIMO], int linhas, int colunas)
{
int i,j;
for (i = 0 ; i < linhas ; i ++) {
for (j = 0 ; j < colunas ; j ++) {
printf("\nDigite um valor inteiro para a posicao %d-%d da matriz A: ",i,j);
matriz[j] = receber_numero();
}
}
}
// Imprimir matrizes
void imprimir_matrizes(int matrizA[MAXIMO][MAXIMO], int matrizB[MAXIMO][MAXIMO], int linhas, int

colunas)
{
int i,j;
limpar_tela();
printf("\n\nMATRIZ A\n");
for (i = 0 ; i < linhas ; i++) {
for (j = 0 ; j < colunas ; j ++) {
printf("\nMATRIZ A POSICAO %d-%d: %d",i,j,matrizA[j]);
}
}
printf("\n\nMATRIZ B (TRANSPOSTA DE A)\n");
for (i = 0 ; i < colunas ; i++) {
for (j = 0 ; j < linhas ; j ++) {
printf("\nMATRIZ B POSICAO %d-%d: %d",i,j,matrizB[j]);
}
}
}
void limpar_tela()
{
system("@cls||clear");
}
// Laço principal
int main()
{
int i,j;
do {
//Inicializar variáveis
opcao = 0;
linhas = 0;
colunas = 0;
i = 0;
j = 0;
do {
printf("\nEntre com o tamanho para linhas: ");
linhas = receber_numero();
printf("\nEntre com o tamanho para colunas: ");
colunas = receber_numero();
} while (!validar_tamanhos(linhas,colunas));
// entrar com valores para a matriz A
preencher_matriz(matrizA, linhas, colunas);
// criar matriz transposta de A
for(i = 0 ; i < linhas ; i ++) {
for(j = 0 ; j < colunas ;j ++) {
matrizB[j] = matrizA[j];
}
}
// Imprimir matrizes
imprimir_matrizes(matrizA,matrizB,linhas, colunas);
// Pergunta ao usuário se quer continuar
opcao = rodar_novamente();
} while (opcao == 1);
}me 


 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Lucaahenr
      Boa tarde pessoal!

      Tenho que fazer um programa em C# que realize o calculo de uma equação de 2° Grau, porem é necessário realizar algumas verificações utilizando IF,  Else e estou tendo dificuldade em realizar estas verificações, gostaria de saber se está correto o que eu fiz ou se tem algum outro modo, segue questão em anexo.

      Muito Obrigado!

      using System; namespace equacaoSegundoGrau { class equacacao { static void Main(string[] args) { double a, b, c, delta; Console.WriteLine("Informe o coeficiente A"); a = double.Parse(Console.ReadLine()); Console.WriteLine("Informe o coeficiente B"); b = double.Parse(Console.ReadLine()); Console.WriteLine("Informe o coeficiente C"); c = double.Parse(Console.ReadLine()); // mesma coisa que a de baixo delta = (b * b) - 4 * a * c; delta = Math.Pow(b, c) - 4 * a * c; if ((a == 0) && (b == 0) && (c != 0)) { Console.WriteLine("Coeficientes informados incorretamente."); } else if ((a == 0) && (b != 0)) { Console.WriteLine("Essa é uma equação de primeiro grau e deverá ser informado o valor da raiz real da equação."); } else if (delta < 0) { Console.WriteLine("Esta equação não possui raízes reais"); } else if (delta == 0) { Console.WriteLine("Esta equação possui duas raízes reais iguais e informar o valor das raízes da equação." + delta); } else if (delta > 0) { Console.WriteLine("Esta equação possui duas raízes reais diferentes."); Console.WriteLine("O valor desta equação é " + delta); } } } }
       
    • By Motta
      Empresa disponibiliza algoritmo do Google em português gratuitamente
    • By Motta
      Novo algoritmo afina capacidade de previsão em sistemas caóticos
    • By Motta
      Toshiba afirma ter criado algoritmo mais rápido que supercomputadores
       
      Notícia sem a fonte original , não achei nada no site da Toshiba,
    • By soaresgusta
      Boa tarde, exercício pede a seguinte questão:

      Faça um programa que leia um valor x qualquer e calcule:
      Y = ( x+1)+(x+2)+(x+3)+(x+4)+(x+5)+...(x+100).

      Eu não estou conseguindo criar uma função Y na linguagem que some de 1 a 100.

      #include <stdio.h>
      #include <stdlib.h>

      int main ()
      {
      int Y=0, x, i=1;

      for (i=1;i<=100;i++);
      {
      Y= (x+i);
      printf("Digite um numero inteiro qualquer: \n");
      scanf ("%d", x);

      printf("Y = %d \n", Y);
      i++;

      }
      return (0);
      }

      Pela lógica, i varia de 1 a 100, mas quando eu executo o programa ele não soma. Alguém pode me ajudar?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.