Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
Daniel Talian

Programa em c++, soma de linhas de matriz geradas aleatoriamente

Pergunta

Gostaria de agradecer a ajuda desde já!

 

Estou com a seguinte dificuldade, estou gerando uma matriz aleatoriamente, na hora de mostrar os números gerados gostaria de fazer uma operação aritmética (soma), e mostrar somente os 8 números que fechem o resultado dessa soma, no exemplo estou procurando o resultado 500

 

#include <stdlib.h>
#include <time.h>
#define N 1000
#define L 8
#define F 100


int main (){
    int freq[F]; 
    int jogo[N][L], jogo1[N][L], i, j, k, aux, soma, somacont;
    char ja_consta;
    for (i=0; i<F; i++)
        freq = 0;
    srand (time(NULL));
    
    for (i=0; i<N; i++){ 
        for (j=0; j<L; j++){
            do{
                jogo[j] = rand() % F + 1; 
                ja_consta = 'N';
                for (k=0; k<j; k++) 
                    if (jogo[j] == jogo[k])
                        ja_consta = 'S';
            }while (ja_consta == 'S'); 
            jogo1[j] = jogo[j]; 
            freq[jogo[j]-1]++; 
        }
    }
    printf("Jogos sorteados\n"); \\AQUI EM VEZ DE MOSTRAR TUDO, GOSTARIA DE REALIZAR A SOMA E MOSTRAR SOMENTE OS QUE BATEM COM OS 500
    somacont=0;
    for(i=0;i<N;i++){ 
        soma=0;
        printf("Jogo %d:    ", i+1);
        for(j=0;j<L;j++){
            soma += jogo[j]; 
       printf("%d ", jogo[j]);
            if(soma == 500){
                printf(" Soma: %d ", soma);

                printf("%d ", jogo[j]); //AQUI ESTA IMPRIMINDO SOMENTE O ULTIMO NUMERO DA LINHA,E NÃO TODA LINHA
                somacont++;
                }       
            }printf("\n");        
        }
    printf("\n");
    printf("Vezes que a media Saiu:%d ", somacont);
    printf("\n");
    
    return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts


  • Conteúdo Similar

    • Por thiago_tw
      eu to com uma tarefa que preciso de ajuda, já tentei alguns algoritmos que achei por aqui mas nunca dá certo, mandei a imagem do que é para ser feito, agradecido se me ajudarem

    • Por BGSJunior
      Olá!
      Tenho uma tabela com os campos id, servico e valor. Preciso somar os valores contidos nos campos 'valor' de acordo com os filtros aplicados. Veja:
       
      SELECT *, SUM(valor) AS totalValores FROM financeiro_entrada WHERE servico LIKE "%suporte%"  
      Acima quero mostrar todos os serviços do tipo "suporte" e o campo 'totalValores' com o total dos serviços em cada registro encontrado. Assim:
       

       
      Qual SQL devo criar para mostrar os registros acima? O SQL que fiz mostra apenas um registro. Assim:
       
       
       
      Preciso mostrar todos os registros que contenha 'suporte' como serviço. Assim: 
       

    • Por eliasfarias
      Preciso pegar um resultado de uma soma a partir de uma variável predefinida antes.
      ex: 
      $valor=500
      $consulta = $pdo->query("SELECT* FROM produtos where  status_pago='0' ");
      while ($resultado = $consulta ->fetch(PDO::FETCH_ASSOC)) {
       
      //listar um número de linhas cuja soma de todos os produtos juntos fosse igual a variável $valor
       
      }
      Se alguém puder me dar uma luz agradeço,
      Obrigado.
    • Por marlone
      Preciso fazer uma consulta no banco onde eu pego total gasto por CPF, somando cada row que for do mesmo CPF por exemplo:
       
       
      Cpf    ctro    vlr               vlrtotal
      158   166     1000         5000
      158   156     1000         5000
      158   1644   3000        5000
       
      159   168     2000         6000
      159   154     2000         6000
      159   111     2000         6000
       
      É possível?
    • Por Hashira do Vento
      O exercício pede o que eu faça um código com uma matriz, onde eu peça uma linha qualquer ao usuário, e nela será feito a soma ou média dos elementos contidos.
      O problema é na hora da decisão do usuário na hora de escolher entre média ou soma, escrevendo a letra inicial de uma dessa palavras em maiúsculo. O "If" simplesmente não funciona, e eu acho que seja essa minha dificuldade, pois quando tirei o if, a soma funcionou normalmente (com o código atual a soma fica igual a zero no printf final). E sim, eu pesquisei a fundo sobre o tipo char, mas mesmo assim não consegui resposta alguma para a solução do meu problema :/
      Segue o código:
      Obs: Claramente, o meu código não está terminado (ainda falta pôr a parte da média), a partir do momento em que eu solucionar esse problema principal, creio que conseguirei finalizá-lo sem mais contratempos.
       
      #include <stdio.h> #include <stdlib.h> #include <locale> int main (void){ setlocale (LC_ALL, "Portuguese"); float M [2][2], media; int lin, x, soma1, soma2; char op[5]; printf ("Preencha a matriz: \n"); for (int l = 0; l<2; l++) { //linha for (int c = 0; c<2; c++ ) { //coluna scanf ("%f", &M[l][c]); } } printf ("Que operação você quer? S ou M?\n"); //Entrada do char, escolha da operação scanf ("%s", op); printf ("Em qual linha da matriz a operação deve ser realizada?\n"); scanf ("%d", &x); for (int l = x; l==x; l++) { for (int c = 0; c<2; c++ ){ printf ("%f \n", M[l][c]);//só mostrando os numeros da linha (ignore) if (op=="S") //tenho quase certeza que o problema se encontra aqui soma1= M[l][c]+soma1; } } printf ("O resultado da soma deu %d", soma1); //e na hora de mostrar a soma, ela sempre aparece como zero }
×

Informação importante

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