Ir para conteúdo
felipe_wisbecki

A parte da matriz esta certa na hora de imprimir a diagonal principal esta saindo errado

Recommended Posts

#include <iostream>
#include <math.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
    
    int linhas=0;
int colunas=0;
int adp, bdp;


printf("Entre com a quantidade de linhas da matriz: \n");
scanf("%d", &linhas);
printf("Entre com a quantidade de colunas da matriz: \n");
scanf("%d", &colunas);

int num[linhas][colunas];

for (int i=0; i<linhas; i++){
    for(int j=0; j<colunas; j++){
    printf("Entre com o valor [%d,%d]", i+1, j+1);
    scanf("%d", &num[j]);
    }
}

printf("\n");
printf("\n Resultados obtidos \n\n");

for(int i=0; i<linhas; i++){
    for(int j=0; j<colunas; j++){
    printf(" %d ", num [j]);
    }
printf("\n");
}
 
printf ("\n Diagonal principal \n");
printf("\n");

 for (int i=0; i< linhas; i++){      
            for (int j=0; j< colunas; j++){
                 if (i == j){                   
                       printf("\n [%d],[%d] = %d ", i+1, j+1, num[linhas] [colunas]);
        }
        else{
        }
    }
}

    
    
    
    
     return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Maria Almeida
      Olá, sou ainda iniciante na programação em e não sei como colocar dois nomes dentro do mesmo vetor, para depois conseguir aceder a cada um deles 
      à vez… preciso que esse vetor possa armazenar dois nomes com 20 ou menos caracteres. Já tentei algo do género:
       
      #include<stdio.h>
      #include<string.h>
      int main(){
        char nomes[2];
        char nome1[20], nome2[20];
        printf("Indique um nome");
        scanf("%s", &nome1);
        printf("Indique outro nome");
        scanf("%s", &nome2);
        nomes[0]=nome1;
        nomes[1]=nome2;
        printf("%s", nomes[0]);
        printf("%s", nomes[1]);
       
      return 0;
      }
       
         
    • Por Howeers
      Tenho um form de cadastro, e tenho outro form que quero consultar um código que sera digitado em um textbox e procurar ele no banco de dados do access, porém não consegui nenhum tutorial que vi na internet. Alguém me ajuda?  Desde já, obrigado!
    • Por Maria Almeida
      O meu código está muito repetitivo, e eu queria simplificá-lo, provavelmente vou ter de criar dois vetores um para os símbolos e outro para os nomes de tamanho 2, já que eu quero que seja tudo aleatório, não sei como colocar os nomes dentro do vetor dos nomes...
      Em baixo o meu código que ainda não tem as condições para definir vitórias e empates, que têm de ser pensadas de forma a serem generalizadas para um jogo avançado(tabuleiro 4*4, 5*5 etc) se puderem também gostaria de ajuda com isso...
       
      void jogo_simples(){
       int DIM=3;
       int num_aleatorio,l=0;
       char nome1[20], nome2[20];
       char tabuleiro[DIM][DIM];
          int j,i;
       printf(" Indique o seu nome: ");
       scanf("%s",nome1);
       printf(" Indique o nome do adversario:");
       scanf("%s", nome2);
       
       for(i=0;i<DIM;i++){
          for(j=0;j<DIM;j++){
         tabuleiro[j]='  ';
       }
        }
       srand(time(NULL));
       for(num_aleatorio=0;num_aleatorio<2; num_aleatorio++){
        num_aleatorio=rand()%2+1;
        if(num_aleatorio==1){
         printf("\n O simbolo do %s e': X", nome1);
         printf("\t O simbolo do %s e': O", nome2);
        
         while(l<=9){
            printf("\n Indica as coordenadas %s: ", nome2);
          scanf("%i %i", &i, &j);
          tabuleiro[j]='O';
          l++;
               for (i=0;i<DIM;i++){
              for(j=0; j<DIM; j++){
               printf("  %c |", tabuleiro[j]);
        }
              printf("\n");
          }
           printf("\n Indica as coordenadas %s: ", nome1);
               scanf("%i %i", &i, &j);
               tabuleiro[j]='X';
               l++;
               for (i=0;i<DIM;i++){
              for(j=0; j<DIM; j++){
               printf("  %c |", tabuleiro[j]); 
       }
               printf("\n");
         }
       
          }
       }
        else{
         printf("\n O simbolo do %s e': O", nome1);
         printf("\t O simbolo do %s e': X", nome2);
         while(l<=9){
          printf("\n Indica as coordenadas %s: ", nome1);
          scanf("%i %i", &i, &j);
          tabuleiro[j]='O';
          l++;
               for (i=0;i<DIM;i++){
              for(j=0; j<DIM; j++){
               printf("  %c |", tabuleiro[j]);
        }
              printf("\n");
          }
               printf("\n Indica as coordenadas %s: ", nome2);
               scanf("%i %i", &i, &j);
               tabuleiro[j]='X';
               l++;
               for (i=0;i<DIM;i++){
              for(j=0; j<DIM; j++){
               printf("  %c |", tabuleiro[j]); 
       }
               printf("\n");
         }
                 
          }
       }
      }
       printf("\n"); }
    • Por nivaldoreis2018
      #include <stdio.h>
      #include <stdlib.h>
      #include<string.h>
      struct no
      {
          char chave[20];
          struct no*pai;
          struct no*esquerda;
          struct no*direita;
      };
      typedef struct no No;
      No* criar_no(char c)
      {
          No* novo = (No*) malloc(sizeof(No) );
          novo->chave[20] = c;
          novo->pai = NULL;
          novo->esquerda = NULL;
          novo->direita = NULL;
          return novo;
      }
      void inserir(No*raiz,No*novo)
      {
          printf("%s", novo->chave);
          No*y=NULL;
          No*aux=y;
          while(y!=NULL)
          {
              aux=y;
              if(strcmp(y->chave,novo->chave)<0)
                  y=y->esquerda;
              else if(y->chave, novo->chave >0)
                  y= y->direita;
          }
          if(strcmp(y->chave, novo->chave)<0)
              aux->esquerda = novo;
          else if(strcmp(aux->chave, novo->chave)>0)
              aux->direita= novo;
      }
      void deletar(No*raiz, No*novo)
      {
          No*y=NULL;
          if(strcmp(y->esquerda=NULL ||y->direita=NULL))
              y=novo;
      }

      int main()
      {
          return 0;
      }
       
    • Por BCG97
      Gostaria de saber como fazer uma splash screen com que carregue ela e a aplicação ao mesmo tempo, para não ter um delay muito grande ao final da splash screen
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.