Curso de Programação C | Como descobrir se uma matriz é um quadrado mágico? | aula 126

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ม.ค. 2025

ความคิดเห็น • 13

  • @nickmario9760
    @nickmario9760 3 ปีที่แล้ว +3

    Terminada a sequência, rumo a playlist de strings, suas aulas estão sendo uma benção🙏

    • @programeseufuturo
      @programeseufuturo  3 ปีที่แล้ว +3

      Está na bíblia. Não só de maratona de séries vive o homem. Não. Espera... É algo parecido. hahaha
      Bons estudos Mario.

  • @andersoncoelhoac8307
    @andersoncoelhoac8307 2 ปีที่แล้ว +1

    Parabéns pelo trabalho

  • @pedromiotto
    @pedromiotto ปีที่แล้ว

    vc é mt foda professor, tava caçando faz um tempo uma playlist de estrutura de dados em C. obrigado!!

    • @programeseufuturo
      @programeseufuturo  ปีที่แล้ว +1

      Pronto, encontrou a melhor do youtube hahahaha
      Espero que ajude Pedro. Abraços e bons estudos.

  • @khel8472
    @khel8472 3 หลายเดือนก่อน

    faltou colocar no título exercício 15

  • @heitorcordeiro1431
    @heitorcordeiro1431 2 ปีที่แล้ว +1

    Professor, poderia fazer um vídeo igual ao anterior só que agora para matrizes, tentei seguir a lógica dele para matrizes, mas não deu muito certo, ai na hora de fazer a questão eu ficava clicando em executar e nunca dava o quadrado mágico kkkkkkkkkkkkkk ai quando vi o vídeo coloquei igual o seu.
    #include
    #include
    #include
    int main (){
    int tam = 4;
    int l, c, mat[4][4]={16,3,2,13,5,10,11,8,9,6,7,12,4,15,14,1}, vet[(tam*2)+2], soma=0, fim=tam-1, magico=1;

    for(l=0; l

  • @antonnelly
    @antonnelly ปีที่แล้ว

    Eu tentei gerar um código que parasse de testar assim que uma linha, coluna ou diagonal fosse diferente da constante mágica e foi muuuuito difícil pra mim. Tô feliz porque consegui, mas fica aquela sensação de que a lógica ainda é algo não trivial pra mim. Alguém aqui já passou por essa sensação e conseguiu vencer essa dificuldade?

  • @thiagosouza7828
    @thiagosouza7828 ปีที่แล้ว +1

    #include
    #include
    #include
    int main()
    {
    int i, j, linhas, colunas;
    srand(time(NULL));
    do{
    printf("Digite a quantidade de linhas: ");
    scanf("%d", &linhas);
    printf("Digite a quantidade de colunas: ");
    scanf("%d", &colunas);
    }while(linhas != colunas);
    int matriz[linhas][colunas], soma_dp, soma_ds, soma_total_linhas, soma_total_colunas, total_l, total_c;
    //PREENCHENDO A MATRIZ
    for (i = 0; i < linhas; i++){
    for (j = 0; j < colunas; j++){
    matriz[i][j] = rand() % 3;
    }
    }
    // MOSTRANDO A MATRIZ GERADA
    printf("
    IMPRIMINDO A MATRIZ

    ");
    for (i = 0; i < linhas; i++){
    for (j = 0; j < colunas; j++){
    printf("%2d ", matriz[i][j]);
    }
    printf("
    ");
    }
    // SOMANDO DIAGONAL PRINCIPAL
    soma_dp = 0;
    for (i = 0; i < linhas; i++){
    soma_dp += matriz[i][i];
    }
    printf("
    Soma da diagonal principal: %d
    ", soma_dp);
    // SOMA DIAGONAL SECUNDARIA
    soma_ds = 0;
    for (i = 0; i < linhas; i++){
    soma_ds += matriz[i][j - 1 - i];
    }
    printf("Soma da diagonal secundaria: %d
    ", soma_ds);
    // SOMA TOTAL DE CADA LINHA
    total_l = 0;
    printf("

    SOMA TOTAL DE CADA LINHA
    ");
    for (i = 0; i < linhas; i++){
    soma_total_linhas = 0;
    for (j = 0; j < colunas; j++){
    soma_total_linhas += matriz[i][j];
    }
    printf("Soma da linha %d = %d
    ", i, soma_total_linhas);
    total_l += soma_total_linhas;
    }
    // SOMA TOTAL DE CADA COLUNA
    total_c = 0;
    printf("

    SOMA TOTAL DE CADA COLUNA
    ");
    for (j = 0; j < colunas; j++){
    soma_total_colunas = 0;
    for (i = 0; i < linhas; i++){
    soma_total_colunas += matriz[i][j];
    }
    printf("Soma das colunas %d = %d
    ", j, soma_total_colunas);
    total_c += soma_total_colunas;
    }
    printf("
    Soma total das linhas: %d", total_l);
    printf("
    Soma total das colunas: %d
    ", total_c);
    if(total_l != total_c){
    printf("
    ");
    }else{
    if(soma_dp != soma_ds){
    printf("
    ");
    }else{
    printf("QUADRADO PERFEITO
    ");
    }
    }
    return 0;
    }
    Eu fiz assim kkk.

  • @marcosantoniobeletatojunio5407
    @marcosantoniobeletatojunio5407 3 ปีที่แล้ว +1

    Professor, seguindo a ideia do vídeo anterior, como eu poderia preencher uma matriz com valores aleatórios que não venham a se repetir? Tentei seguir a ideia do preenchimento do vetor mas não consegui.

    • @programeseufuturo
      @programeseufuturo  3 ปีที่แล้ว +1

      A ideia é exatamente a mesma Marcos com algumas pequenas alterações.
      Para uma matriz você pode inicializar a mesma com um valor que está fora do intervalo dos números que serão sorteados, por exemplo -1 se sua matriz tiver apenas números positivos.
      Em seguida sorteia números e insere na matriz apenas se eles ainda não existirem na matriz.
      Perceba que para cada número sorteado você precisa percorrer a matriz verificando se ele já existe.

  • @respostaemalgunsminutos3947
    @respostaemalgunsminutos3947 ปีที่แล้ว

  • @Jose-mq4un
    @Jose-mq4un ปีที่แล้ว

    tentei criar um quadrado magico com numeros aleatorios gerados pelo rand e meu pc ta trabalhando ate agr kkkkkkkkkkk:
    #include
    #include
    #include
    int main() {
    int m[4][4];
    int soma, diferente = 0;
    srand(time(NULL));
    do {
    for(int i = 0; i < 4; i++) {
    for(int j = 0; j < 4; j++) {
    m[i][j] = rand() % 100;
    }
    }
    // imprime a matriz
    printf("
    Matriz 4x4:
    ");
    for(int i = 0; i < 4; i++) {
    for(int j = 0; j < 4; j++) {
    printf("%2d ", m[i][j]);
    }
    printf("
    ");
    }
    // verifica as linhas e colunas
    for(int i = 0; i < 4; i++) {
    // verifica as linhas
    soma = 0;
    for(int j = 0; j < 4; j++) {
    soma += m[i][j];
    }
    if(soma != 34) {
    diferente++;
    }
    // verifica as colunas
    soma = 0;
    for(int j = 0; j < 4; j++) {
    soma += m[j][i];
    }
    if(soma != 34) {
    diferente++;
    }
    }
    // verifica a diagonal princial
    soma = 0;
    for(int i = 0; i < 4; i++) {
    soma += m[i][i];
    }
    if(soma != 34) {
    diferente++;
    }
    // verifica a diagonal secundaria
    soma = 0;
    for(int i = 0; i < 4; i++) {
    for(int j = 0; j < 4; j++) {
    if(i + j == 3) {
    soma += m[i][j];
    }
    }
    }
    if(soma != 34) {
    diferente++;
    }
    } while(diferente != 0);
    // verifica se e um quadrado magico e imprime a resposta
    if(diferente) {
    printf("
    Nao e um quadrado magico

    ");
    } else {
    printf("
    E um quadrado magico

    ");
    }
    return(0);
    }