Ir ao conteúdo
  • Cadastre-se
Marcela da Silva de Souza

C RESOLVIDO O que seria o comando | | ?

Recommended Posts

Em 17/10/2018 às 18:16, Marcela da Silva de Souza disse:

Olá boa tarde, gostaria de saber na linha 13 desse código abaixo o que significa esse símbolo?  | |  Ou ele não existe? 


#include <stdio.h>
#include <conio.h>
#define Tm 6            /* a quantidade de números */
int vet[60],aux,num,flag;
int i,j,resto,result;
int main()
{
    for(j=0;j<Tm;j++){
        do{
            flag=0;
            printf("Digite O %d%c Numero ",j+1,167);
            scanf("%d",&vet[j]);?
            if(vet[j]<-99 || vet[j]>99)flag=1;
        }while(flag != 0);
    }
    for(i=0;i<Tm;i++)/* coloca em ordem crescente */
        for(j=i+1;j<Tm;j++)
            if( vet > vet[j]){
                aux    = vet ;
              ?  vet = vet[j] ;
                vet[j] = aux    ;   
            }    
    printf("\nNumeros Ordenados Crescente\n");
    for(j=0;j<Tm;j++)
        printf("%3d\n",vet[j]);
    printf("\n");
    printf("Numeros Em Colunas\n");
    for(j=0;j<Tm;j+=2)
        printf("%3d , %3d\n",vet[j],vet[j+1]);   
    printf("\nResultado Da Subtracao\n");
    for(j=0;j<Tm;j++){
        num    = (int)vet[j]/10;
        resto  = vet[j] % 10   ;   
        result = abs  (resto - num ) ;
        printf("%3d - %3d => %3d\n",resto,num,result);
    }
    printf("\n\n");
    getch();
    return 0;    
}

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá eu estou tentando inserir seus código no código que eu tinha anterior mente mas ficam aparecendo pontos de interrogação e não estão saindo porque será? Eu vou precisar de um programa com funções anteriores e essa aí inserida

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esses sinais são caracteres de tabulação não codificados.

 

A solução é saber em quais linhas e colunas estão e depois apagar-los. Sua única referencia e a valor da linha e da coluna que aparece no relatório de erro.

Em 06/01/2019 às 00:57, Marcela da Silva de Souza disse:

Coloquei o codigo no compilador e esta aparecendo uns pontos de interrogacao

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @Marcela da Silva de Souza não sei quanto aos pontos de interrogação, porém a barra dupla " || " na linha 13, é o operador lógico " ou ". No caso seu caso :

if(vet[j]<99 || vet[j]>99){ // alterei pra ficar melhora a visualização
  // talvez tenha encontrado um erro no seu código no lugar de vet[j]<99 estava escrito
  // vet[j]<- 99, eu retirei o " - ", que para mim não faz sentido, desculpe se estiver errado.
  flag=1;
}

Se vet[ j ] for menor que 99 flag será igua a 1, ou se vet[  j] for maior do que 99  o flag será igual a 1. Para qualquer um dos 2 casos o flag será igual a 1, o que está dentro do "if" só não ocoerrá se o vet[ j ] for igual a 99.

Uma dica é que ,s e o que eu falei está correto , você pode substituir esse if pelo seguinte if:

if ( vet[ j ] != 99) {
	flag = 1
}

Espero ter ajudado.

  • Curtir 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#define Tm 6
#define Tm 8 


int main()
{          /* a quantidade de números */
int vet[60],aux,num,flag;
int i,j,resto,result;
int 
int n= 8;
int dezenas[4] = {10,12,20,55};

int , 10,12,20,55;
    int total = 0;
 
    for (l0=0; l0<n; l0++)
    {
        for (l1=0; l1<n; l1++)
        {
            for (l2=0; l2<n;l2++)
            {
                for (l3=0; l3<n;l3++)
                {
                    cout << numeros[l0] << " " << numeros[l1] << " " << numeros[l2] << " " << numeros[l3] << endl;
                    total++;
                }
            }
        }
    }
    cout << total << endl;

  
    for(j=0;j<Tm;j++){
        do{
            flag=0;
            printf("Digite O %d%c Numero ",j+1,167);
            scanf("%d",&vet[j]);
            if(vet[j]<-99 || vet[j]>99)flag=1;/* aqui é o operador logico   ou */
        }while(flag != 0);
    }
    for(i=0;i<Tm;i++)/* coloca em ordem crescente */
        for(j=i+1;j<Tm;j++)
            if(  vet > vet[j]){
                 aux    = vet ;
                 vet = vet[j] ;
                 vet[j] = aux    ;   
            }   
        
            
            
            
    printf("\nNumeros Ordenados Crescente\n");
    for(j=0;j<Tm;j++)
        printf("%3d\n",vet[j]);
    printf("\n");
    printf("Numeros Em Colunas\n");
    for(j=0;j<Tm;j+=2)
        printf("%3d , %3d\n",vet[j],vet[j+1]);   
    printf("\nResultado Da Subtracao\n");
   
    for(j=0;j<Tm;j++){
        num    = (int)vet[j]/10;
        resto  = vet[j] % 10   ;   
       
     
 
 
      
     if(resto==0)resto=10;
      if(num  ==0)num=10;
 
   
        result = abs  (resto - num ) ;
        printf("%3d - %3d => %3d\n",resto,num,result);
    }
  
   
    printf("\n\n");
    
   getch();

    return 0; 
      
}
 */ No lugar de moedas onde estava no código anterior eu coloquei números */

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 13/01/2019 às 12:58, devair1010 disse:

@Marcela da Silva de Souza      poste seu código para vermos como está e em que podemos ajudar   .

 

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#define Tm 6
#define Tm 8 


int main()
{          /* a quantidade de números */
int vet[60],aux,num,flag;
int i,j,resto,result;
int 
int n= 8;
int dezenas[4] = {10,12,20,55};

int , 10,12,20,55;
    int total = 0;
 
    for (l0=0; l0<n; l0++)
    {
        for (l1=0; l1<n; l1++)
        {
            for (l2=0; l2<n;l2++)
            {
                for (l3=0; l3<n;l3++)
                {
                    cout << numeros[l0] << " " << numeros[l1] << " " << numeros[l2] << " " << numeros[l3] << endl;
                    total++;
                }
            }
        }
    }
    cout << total << endl;

  
    for(j=0;j<Tm;j++){
        do{
            flag=0;
            printf("Digite O %d%c Numero ",j+1,167);
            scanf("%d",&vet[j]);

 

   Printf("Digite os8 números a sua escolha para formar as 4 dezenas");

 

 

printf("O valor da soma = %d\n", soma);
            if(vet[j]<-99 || vet[j]>99)flag=1;/* aqui é o operador logico   ou */
        }while(flag != 0);
    }
    for(i=0;i<Tm;i++)/* coloca em ordem crescente */
        for(j=i+1;j<Tm;j++)
            if(  vet > vet[j]){
                 aux    = vet ;
                 vet = vet[j] ;
                 vet[j] = aux    ;   
            }   
        
            
            
            
    printf("\nNumeros Ordenados Crescente\n");
    for(j=0;j<Tm;j++)
        printf("%3d\n",vet[j]);
    printf("\n");
    printf("Numeros Em Colunas\n");
    for(j=0;j<Tm;j+=2)
        printf("%3d , %3d\n",vet[j],vet[j+1]);   
    printf("\nResultado Da Subtracao\n");
   
    for(j=0;j<Tm;j++){
        num    = (int)vet[j]/10;
        resto  = vet[j] % 10   ;   
       
     
 
 
      
     if(resto==0)resto=10;
      if(num  ==0)num=10;
 
   
        result = abs  (resto - num ) ;
        printf("%3d - %3d => %3d\n",resto,num,result);
    }
  

    printf("\n\n");
    
   getch();

    return 0; 
      
}
 */ No lugar de moedas onde estava no código anterior eu coloquei números */

 

 

Olá está o código tenho que inserir uma pate de código na outra que vai pedir para o usuário digitar 8 números para formar 4 dezenas com combinações possíveis em ordem crescente, gostaria de compilar não consigo. Obrigada.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Marcela da Silva de Souza        alguns erros :
 -  o vetor numeros não foi declarado no início do código .
 -  você está usando o comando  cout que é da linguagem c++ e o restante do código está em c .   então na linguagem c  você precisa usar o comando printf para imprimir na tela pois o comando cout não funciona no c apenas no c++ ,  que é outra linguagem .
 -  o comando printf  é com   p  minúsculo .
 -  a variável Tm foi declarada duas vezes .
 -  a variável soma não foi declarada e nem inicializada no início do código .
 -  você não usou o botão <>  " tag code " para postar seu código , e por isso a variável [ i ] no vetor vet  foi excluída , causando erros no código .

diga qual o objetivo desse código , e como ele deve funcionar . 

seu código corrigido seria assim  ,  na linguagem c++ , pois em c não funcionará :

#include <stdio.h>
#include <iostream>/* em c++ precisa desse include  */
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <time.h> /* precisa para o comando srand */
/*#define Tm 6*/
#define Tm 8
using namespace std;/* em c++ precisa de desse comando */
int main(){          
    srand(time(NULL));
    int vet[60],aux,num,flag;
    int i,j,resto,result,soma=0;
    int n= 8,numeros[4096];
    int dezenas[4] = {10,12,20,55};
    int l0,l1,l2,l3;
    int total = 0;
    for(l0=0; l0<n; l0++){
        for(l1=0; l1<n; l1++){
            for(l2=0; l2<n;l2++){
                for(l3=0; l3<n;l3++){
                    numeros[total]=rand()%60+1;
                    cout<<numeros[l0]<<" "<<numeros[l1]<<" "<<numeros[l2]<<" "<<numeros[l3]<<endl;
                    total++;
                }
            }
        }
    }
    cout<<"\n"<<total<<endl;
    printf("Digite os 8 números a sua escolha para formar as 4 dezenas\n\n");
    for(j=0; j<Tm; j++){
        do{
            flag=0;
            printf("Digite O %d%c Numero ",j+1,167);
            scanf("%d",&vet[j]);
            printf("O valor da soma = %d\n", soma);
            if(vet[j]<-99 || vet[j]>99)flag=1;/* aqui é o operador logico   ou */
        }while(flag != 0);
    }
    for(i=0; i<Tm; i++)/* coloca em ordem crescente */
        for(j=i+1; j<Tm; j++)
            if(  vet[i] > vet[j]){
                 aux    = vet[i] ;
                 vet[i] = vet[j] ;
                 vet[j] = aux    ;
            }
    printf("\nNumeros Ordenados Crescente\n");
    for(j=0;j<Tm;j++)
        printf("%3d\n",vet[j]);
    printf("\n");
    printf("Numeros Em Colunas\n");
    for(j=0;j<Tm;j+=2)
        printf("%3d , %3d\n",vet[j],vet[j+1]);
    printf("\nResultado Da Subtracao\n");
    for(j=0;j<Tm;j++){
        num    = (int)vet[j]/10;
        resto  = vet[j] % 10   ;
        if(resto==0)resto=10;
        if(num  ==0)num=10;
        result = abs  (resto - num ) ;
        printf("%3d - %3d => %3d\n",resto,num,result);
    }
    printf("\n\n");
    getch();
    return 0;
}

 

  • Curtir 2
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/01/2019 às 19:57, devair1010 disse:

@Marcela da Silva de Souza        alguns erros :
 -  o vetor numeros não foi declarado no início do código .
 -  você está usando o comando  cout que é da linguagem c++ e o restante do código está em c .   então na linguagem c  você precisa usar o comando printf para imprimir na tela pois o comando cout não funciona no c apenas no c++ ,  que é outra linguagem .
 -  o comando printf  é com   p  minúsculo .
 -  a variável Tm foi declarada duas vezes .
 -  a variável soma não foi declarada e nem inicializada no início do código .
 -  você não usou o botão <>  " tag code " para postar seu código , e por isso a variável [ i ] no vetor vet  foi excluída , causando erros no código .

diga qual o objetivo desse código , e como ele deve funcionar . 

seu código corrigido seria assim  ,  na linguagem c++ , pois em c não funcionará :


#include <stdio.h>
#include <iostream>/* em c++ precisa desse include  */
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <time.h> /* precisa para o comando srand */
/*#define Tm 6*/
#define Tm 8
using namespace std;/* em c++ precisa de desse comando */
int main(){          
    srand(time(NULL));
    int vet[60],aux,num,flag;
    int i,j,resto,result,soma=0;
    int n= 8,numeros[4096];
    int dezenas[4] = {10,12,20,55};
    int l0,l1,l2,l3;
    int total = 0;
    for(l0=0; l0<n; l0++){
        for(l1=0; l1<n; l1++){
            for(l2=0; l2<n;l2++){
                for(l3=0; l3<n;l3++){
                    numeros[total]=rand()%60+1;
                    cout<<numeros[l0]<<" "<<numeros[l1]<<" "<<numeros[l2]<<" "<<numeros[l3]<<endl;
                    total++;
                }
            }
        }
    }
    cout<<"\n"<<total<<endl;
    printf("Digite os 8 números a sua escolha para formar as 4 dezenas\n\n");
    for(j=0; j<Tm; j++){
        do{
            flag=0;
            printf("Digite O %d%c Numero ",j+1,167);
            scanf("%d",&vet[j]);
            printf("O valor da soma = %d\n", soma);
            if(vet[j]<-99 || vet[j]>99)flag=1;/* aqui é o operador logico   ou */
        }while(flag != 0);
    }
    for(i=0; i<Tm; i++)/* coloca em ordem crescente */
        for(j=i+1; j<Tm; j++)
            if(  vet[i] > vet[j]){
                 aux    = vet[i] ;
                 vet[i] = vet[j] ;
                 vet[j] = aux    ;
            }
    printf("\nNumeros Ordenados Crescente\n");
    for(j=0;j<Tm;j++)
        printf("%3d\n",vet[j]);
    printf("\n");
    printf("Numeros Em Colunas\n");
    for(j=0;j<Tm;j+=2)
        printf("%3d , %3d\n",vet[j],vet[j+1]);
    printf("\nResultado Da Subtracao\n");
    for(j=0;j<Tm;j++){
        num    = (int)vet[j]/10;
        resto  = vet[j] % 10   ;
        if(resto==0)resto=10;
        if(num  ==0)num=10;
        result = abs  (resto - num ) ;
        printf("%3d - %3d => %3d\n",resto,num,result);
    }
    printf("\n\n");
    getch();
    return 0;
}

 

O objetivo é dar continuidade desse código adicionando mais funções, com mais variáveis ou constantes necessárias no caso seria formar 8 dezenas a partir de 16 números cujos serão escolhidos pelo usuário e logo pós montar essas dezenas elas  serão tranformadas em combinações de todos os números possíveis com repetição no caso seriam muito mais que 16 números combinados no resultado final.    

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá não consegui identificar seu help! Abraços aguardando o socorro 🤗

adicionado 2 minutos depois
Em 27/01/2019 às 20:57, devair1010 disse:

@Marcela da Silva de Souza        alguns erros :
 -  o vetor numeros não foi declarado no início do código .
 -  você está usando o comando  cout que é da linguagem c++ e o restante do código está em c .   então na linguagem c  você precisa usar o comando printf para imprimir na tela pois o comando cout não funciona no c apenas no c++ ,  que é outra linguagem .
 -  o comando printf  é com   p  minúsculo .
 -  a variável Tm foi declarada duas vezes .
 -  a variável soma não foi declarada e nem inicializada no início do código .
 -  você não usou o botão <>  " tag code " para postar seu código , e por isso a variável [ i ] no vetor vet  foi excluída , causando erros no código .

diga qual o objetivo desse código , e como ele deve funcionar . 

seu código corrigido seria assim  ,  na linguagem c++ , pois em c não funcionará :


#include <stdio.h>
#include <iostream>/* em c++ precisa desse include  */
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <time.h> /* precisa para o comando srand */
/*#define Tm 6*/
#define Tm 8
using namespace std;/* em c++ precisa de desse comando */
int main(){          
    srand(time(NULL));
    int vet[60],aux,num,flag;
    int i,j,resto,result,soma=0;
    int n= 8,numeros[4096];
    int dezenas[4] = {10,12,20,55};
    int l0,l1,l2,l3;
    int total = 0;
    for(l0=0; l0<n; l0++){
        for(l1=0; l1<n; l1++){
            for(l2=0; l2<n;l2++){
                for(l3=0; l3<n;l3++){
                    numeros[total]=rand()%60+1;
                    cout<<numeros[l0]<<" "<<numeros[l1]<<" "<<numeros[l2]<<" "<<numeros[l3]<<endl;
                    total++;
                }
            }
        }
    }
    cout<<"\n"<<total<<endl;
    printf("Digite os 8 números a sua escolha para formar as 4 dezenas\n\n");
    for(j=0; j<Tm; j++){
        do{
            flag=0;
            printf("Digite O %d%c Numero ",j+1,167);
            scanf("%d",&vet[j]);
            printf("O valor da soma = %d\n", soma);
            if(vet[j]<-99 || vet[j]>99)flag=1;/* aqui é o operador logico   ou */
        }while(flag != 0);
    }
    for(i=0; i<Tm; i++)/* coloca em ordem crescente */
        for(j=i+1; j<Tm; j++)
            if(  vet[i] > vet[j]){
                 aux    = vet[i] ;
                 vet[i] = vet[j] ;
                 vet[j] = aux    ;
            }
    printf("\nNumeros Ordenados Crescente\n");
    for(j=0;j<Tm;j++)
        printf("%3d\n",vet[j]);
    printf("\n");
    printf("Numeros Em Colunas\n");
    for(j=0;j<Tm;j+=2)
        printf("%3d , %3d\n",vet[j],vet[j+1]);
    printf("\nResultado Da Subtracao\n");
    for(j=0;j<Tm;j++){
        num    = (int)vet[j]/10;
        resto  = vet[j] % 10   ;
        if(resto==0)resto=10;
        if(num  ==0)num=10;
        result = abs  (resto - num ) ;
        printf("%3d - %3d => %3d\n",resto,num,result);
    }
    printf("\n\n");
    getch();
    return 0;
}

 

Olá não consegui identificar seu help! Abraços aguardando o socorro @devair1010

 

Em 03/02/2019 às 22:20, Marcela da Silva de Souza disse:

 

O objetivo é dar continuidade desse código adicionando mais funções, com mais variáveis ou constantes necessárias no caso seria formar 8 dezenas a partir de 16 números cujos serão escolhidos pelo usuário e logo pós montar essas dezenas elas  serão tranformadas em combinações de todos os números possíveis com repetição no caso seriam muito mais que 16 números combinados no resultado final.    

 

Olá não consegui identificar seu help! Abraços aguardando o socorro 

adicionado 20 minutos depois
Em 27/01/2019 às 20:57, devair1010 disse:

@Marcela da Silva de Souza        alguns erros :
 -  o vetor numeros não foi declarado no início do código .
 -  você está usando o comando  cout que é da linguagem c++ e o restante do código está em c .   então na linguagem c  você precisa usar o comando printf para imprimir na tela pois o comando cout não funciona no c apenas no c++ ,  que é outra linguagem .
 -  o comando printf  é com   p  minúsculo .
 -  a variável Tm foi declarada duas vezes .
 -  a variável soma não foi declarada e nem inicializada no início do código .
 -  você não usou o botão <>  " tag code " para postar seu código , e por isso a variável [ i ] no vetor vet  foi excluída , causando erros no código .

diga qual o objetivo desse código , e como ele deve funcionar . 

seu código corrigido seria assim  ,  na linguagem c++ , pois em c não funcionará :


#include <stdio.h>
#include <iostream>/* em c++ precisa desse include  */
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <time.h> /* precisa para o comando srand */
/*#define Tm 6*/
#define Tm 8
using namespace std;/* em c++ precisa de desse comando */
int main(){          
    srand(time(NULL));
    int vet[60],aux,num,flag;
    int i,j,resto,result,soma=0;
    int n= 8,numeros[4096];
    int dezenas[4] = {10,12,20,55};
    int l0,l1,l2,l3;
    int total = 0;
    for(l0=0; l0<n; l0++){
        for(l1=0; l1<n; l1++){
            for(l2=0; l2<n;l2++){
                for(l3=0; l3<n;l3++){
                    numeros[total]=rand()%60+1;
                    cout<<numeros[l0]<<" "<<numeros[l1]<<" "<<numeros[l2]<<" "<<numeros[l3]<<endl;
                    total++;
                }
            }
        }
    }
    cout<<"\n"<<total<<endl;
    printf("Digite os 8 números a sua escolha para formar as 4 dezenas\n\n");
    for(j=0; j<Tm; j++){
        do{
            flag=0;
            printf("Digite O %d%c Numero ",j+1,167);
            scanf("%d",&vet[j]);
            printf("O valor da soma = %d\n", soma);
            if(vet[j]<-99 || vet[j]>99)flag=1;/* aqui é o operador logico   ou */
        }while(flag != 0);
    }
    for(i=0; i<Tm; i++)/* coloca em ordem crescente */
        for(j=i+1; j<Tm; j++)
            if(  vet[i] > vet[j]){
                 aux    = vet[i] ;
                 vet[i] = vet[j] ;
                 vet[j] = aux    ;
            }
    printf("\nNumeros Ordenados Crescente\n");
    for(j=0;j<Tm;j++)
        printf("%3d\n",vet[j]);
    printf("\n");
    printf("Numeros Em Colunas\n");
    for(j=0;j<Tm;j+=2)
        printf("%3d , %3d\n",vet[j],vet[j+1]);
    printf("\nResultado Da Subtracao\n");
    for(j=0;j<Tm;j++){
        num    = (int)vet[j]/10;
        resto  = vet[j] % 10   ;
        if(resto==0)resto=10;
        if(num  ==0)num=10;
        result = abs  (resto - num ) ;
        printf("%3d - %3d => %3d\n",resto,num,result);
    }
    printf("\n\n");
    getch();
    return 0;
}

 

Help me please! rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/01/2019 às 16:34, Marcela da Silva de Souza disse:

 

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#define Tm 6
#define Tm 8 


int main()
{          /* a quantidade de números */
int vet[60],aux,num,flag;
int i,j,resto,result;
int 
int n= 8;
int dezenas[4] = {10,12,20,55};

int , 10,12,20,55;
    int total = 0;
 
    for (l0=0; l0<n; l0++)
    {
        for (l1=0; l1<n; l1++)
        {
            for (l2=0; l2<n;l2++)
            {
                for (l3=0; l3<n;l3++)
                {
                    cout << numeros[l0] << " " << numeros[l1] << " " << numeros[l2] << " " << numeros[l3] << endl;
                    total++;
                }
            }
        }
    }
    cout << total << endl;

  
    for(j=0;j<Tm;j++){
        do{
            flag=0;
            printf("Digite O %d%c Numero ",j+1,167);
            scanf("%d",&vet[j]);

 

   Printf("Digite os8 números a sua escolha para formar as 4 dezenas");

 

 

printf("O valor da soma = %d\n", soma);
            if(vet[j]<-99 || vet[j]>99)flag=1;/* aqui é o operador logico   ou */
        }while(flag != 0);
    }
    for(i=0;i<Tm;i++)/* coloca em ordem crescente */
        for(j=i+1;j<Tm;j++)
            if(  vet > vet[j]){
                 aux    = vet ;
                 vet = vet[j] ;
                 vet[j] = aux    ;   
            }   
        
            
            
            
    printf("\nNumeros Ordenados Crescente\n");
    for(j=0;j<Tm;j++)
        printf("%3d\n",vet[j]);
    printf("\n");
    printf("Numeros Em Colunas\n");
    for(j=0;j<Tm;j+=2)
        printf("%3d , %3d\n",vet[j],vet[j+1]);   
    printf("\nResultado Da Subtracao\n");
   
    for(j=0;j<Tm;j++){
        num    = (int)vet[j]/10;
        resto  = vet[j] % 10   ;   
       
     
 
 
      
     if(resto==0)resto=10;
      if(num  ==0)num=10;
 
   
        result = abs  (resto - num ) ;
        printf("%3d - %3d => %3d\n",resto,num,result);
    }
  

    printf("\n\n");
    
   getch();

    return 0; 
      
}
 */ No lugar de moedas onde estava no código anterior eu coloquei números */

 

 

Olá está o código tenho que inserir uma pate de código na outra que vai pedir para o usuário digitar 8 números para formar 4 dezenas com combinações possíveis em ordem crescente, gostaria de compilar não consigo. Obrigada.

help me please!

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Marcela da Silva de Souza   assim está compilando , mas você não disse que 8 números são esses que o usuário vai digitar , começando de quanto e indo até quanto ? ,  pois esses oito números já são oito dezenas ,  e que escolha se deve fazer ? , para reduzir para 4 dezenas ? , e o desdobramento é feito usando aqueles 4 for aninhados um dentro do outro , :

#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
//#define Tm 6
#define Tm 8
using namespace std;/*precisa desse comando para usar o cout */
int main(){
    int vet[60],numeros[60],aux,num,flag;
    int i,j,resto,result;
    int n= 8,l0,l1,l2,l3;
    int dezenas[4] = {10,12,20,55};
    /*int 10,12,20,55;  assim não funciona */
    int total = 0;
    for (l0=0; l0<n; l0++){
        for (l1=0; l1<n; l1++){
            for (l2=0; l2<n;l2++){
                for (l3=0; l3<n;l3++){
                    cout << numeros[l0] << " " << numeros[l1] << " " << numeros[l2] << " " << numeros[l3] << endl;
                    total++;
                }
            }
        }
    }
    cout << total << endl;
    for(j=0;j<Tm;j++){
        do{
            flag=0;
            printf("Digite O %d%c Numero ",j+1,167);
            printf("Digite os 8 números a sua escolha para formar as 4 dezenas ");
            scanf("%d",&vet[j]);
            /*printf("O valor da soma = %d\n", soma);*/
            if(vet[j]<-99 || vet[j]>99)flag=1;
        }while(flag != 0);
    }
    for(i=0;i<Tm;i++)/* coloca em ordem crescente */
        for(j=i+1;j<Tm;j++)
            if(  vet[i] > vet[j]){
                 aux    = vet[i] ;
                 vet[i] = vet[j] ;
                 vet[j] = aux    ;
            }
    printf("\nNumeros Ordenados Crescente\n");
    for(j=0;j<Tm;j++)
        printf("%3d\n",vet[j]);
    printf("\n");
    printf("Numeros Em Colunas\n");
    for(j=0;j<Tm;j+=2)
        printf("%3d , %3d\n",vet[j],vet[j+1]);
    printf("\nResultado Da Subtracao\n");

    for(j=0;j<Tm;j++){
        num    = (int)vet[j]/10;
        resto  = vet[j] % 10   ;
        if(resto==0)resto=10;
        if(num  ==0)num=10;
        result = abs  (resto - num ) ;
        printf("%3d - %3d => %3d\n",resto,num,result);
    }
    printf("\n\n");
    getch();
    return 0;
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi no caso o usuário que deveria escolher os números tem que ser a escolha do usuário aleatoriamente usando todos os números naturais existentes 0 a 9 no caso poderia se formar:  10, 11 ,12...20, 21,22,23,24,25,26,27...29...30,31 qualquer valor que o usuário escolher com qualquer número escolhido ex:

Se o usuário colocar na dele escolha de 8 números: 1,2,3,4,5

ENTÃO FORMARIA SE DEZENAS ATÉ A QUANTIDADE MÁXIMA POSSÍVEL DE COMBINAÇÃO COM ESSES NÚMEROS COM REPETIÇÃO.

 eu gostaria que ele pudesse fazer essa escolha no começo com um scanf e printf e não no final como esta fiz errado porque são duas funções distintas no mesmo código no caso a partir dessa linha para baixo:

 

/* Esse printf faz parte de outra função a de cima*/printf("Digite os 8 números a sua escolha para formar as 4 dezenas "); /* Esse scanf também acho que é da função acima logo precisa se ter ele aqui para complmentar o código a seguir*/ scanf("%d",&vet[j]); /*printf("O valor da soma = %d\n", soma);*/ if(vet[j]<-99 || vet[j]>99)flag=1; }while(flag != 0); } for(i=0;i<Tm;i++)/* coloca em ordem crescente */ for(j=i+1;j<Tm;j++) if( vet > vet[j]){ aux = vet ; vet = vet[j] ; vet[j] = aux ; } printf("\nNumeros Ordenados Crescente\n"); for(j=0;j<Tm;j++) printf("%3d\n",vet[j]); printf("\n"); printf("Numeros Em Colunas\n"); for(j=0;j<Tm;j+=2) printf("%3d , %3d\n",vet[j],vet[j+1]); printf("\nResultado Da Subtracao\n"); for(j=0;j<Tm;j++){ num = (int)vet[j]/10; resto = vet[j] % 10 ; if(resto==0)resto=10; if(num ==0)num=10; result = abs (resto - num ) ; printf("%3d - %3d => %3d\n",resto,num,result); } printf("\n\n"); getch(); return 0; }

 

Seria outra função diferente e o print que eu coloquei um comentário teria que ficar lá no começo da função de dezenas pois ao compilar embaralha com a  pergunta do escanf não corresponde a resposta trocam as respostas e embanana tudo rsrs.

No começo o proprio programa já joga os números com combinações e no caso o usuário que tem que escolher os 8 números para formar 4 dezenas e não o programador.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 12/02/2019 às 13:47, Marcela da Silva de Souza disse:

Oi no caso o usuário que deveria escolher os números tem que ser a escolha do usuário aleatoriamente usando todos os números naturais existentes 0 a 9 no caso poderia se formar:  10, 11 ,12...20, 21,22,23,24,25,26,27...29...30,31 qualquer valor que o usuário escolher com qualquer número escolhido ex:

Se o usuário colocar na dele escolha de 8 números EX: 1,2,3,4,5,6,7,8

ENTÃO FORMARIA SE DEZENAS ATÉ A QUANTIDADE MÁXIMA POSSÍVEL DE COMBINAÇÃO COM ESSES NÚMEROS COM E SEM REPETIÇÃO.

 eu gostaria que ele pudesse fazer essa escolha no começo com um scanf e printf e não no final como esta fiz errado porque são duas funções distintas no mesmo código no caso a partir dessa linha para baixo:

 

/* Esse printf faz parte de outra função a de cima*/printf("Digite os 8 números a sua escolha para formar as 4 dezenas "); /* Esse scanf também acho que é da função acima logo precisa se ter ele aqui para complmentar o código a seguir*/ scanf("%d",&vet[j]); /*printf("O valor da soma = %d\n", soma);*/ if(vet[j]<-99 || vet[j]>99)flag=1; }while(flag != 0); } for(i=0;i<Tm;i++)/* coloca em ordem crescente */ for(j=i+1;j<Tm;j++) if( vet > vet[j]){ aux = vet ; vet = vet[j] ; vet[j] = aux ; } printf("\nNumeros Ordenados Crescente\n"); for(j=0;j<Tm;j++) printf("%3d\n",vet[j]); printf("\n"); printf("Numeros Em Colunas\n"); for(j=0;j<Tm;j+=2) printf("%3d , %3d\n",vet[j],vet[j+1]); printf("\nResultado Da Subtracao\n"); for(j=0;j<Tm;j++){ num = (int)vet[j]/10; resto = vet[j] % 10 ; if(resto==0)resto=10; if(num ==0)num=10; result = abs (resto - num ) ; printf("%3d - %3d => %3d\n",resto,num,result); } printf("\n\n"); getch(); return 0; }

 

Seria outra função diferente e o print que eu coloquei um comentário teria que ficar lá no começo da função de dezenas pois ao compilar embaralha com a  pergunta do escanf não corresponde a resposta trocam as respostas e embanana tudo rsrs.

 

Olá boa tarde, será que poderia me ajudar além de colocar um scanf paa o usuário fazer a escolha dos números ao invés de serem 8 números colocar 10 números para formar 5 dezenas com e sem repetição até o ultimo número possível?

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Marcela da Silva de Souza      então você quer formar apenas cinco dezenas com esses dez números digitados pelo usuário ,  assim terá apenas esses cinco números para o desdobramento ,  então seria assim  :

#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#define Tm 10
using namespace std;/*precisa desse comando para usar o cout */
int main(){
    int vet[60],numeros[60],aux,num,flag;
    int i,w=0,j,x=0,resto,result;
    int n=5,l0,l1,l2,l3;
    int dezenas[4] = {10,12,20,55};
    /*int 10,12,20,55;  assim não funciona */
    int total = 0;
    printf("Digite 10 números de ( 0 ate 9 )\nde sua escolha para formar as 5 dezenas\n\n");
    for(j=0;j<Tm;j++){
        do{
            flag=0;
            printf("Digite O %2d%c Numero ",j+1,167);
            scanf("%d",&num);
            if(num<0 || num>9)flag=1;
            else{
                if(x==0){
                    aux = num*10;
                    x++;
                }
                else{
                    aux = aux + num;
                    x=0;
                    vet[w] = aux;
                    if(vet[w]<-99 || vet[w]>99)flag=1;
                    if( ! flag )w++;
                }
            }
        }while(  flag  );
    }
    printf("\nAs Cinco Dezenas Escolhidas\n");
    for(j=0; j<5; j++)printf("\nvet[%d] --> %d ",j,vet[j]);
    printf("\n\ndesdobramento\n\n");
    for (l0=0; l0<n; l0++){
        for (l1=l0+1; l1<n; l1++){
            for (l2=l1+1; l2<n;l2++){
                for (l3=l2+1; l3<n;l3++){
                    cout<<vet[l0]<<" "<<vet[l1]<<" "<<vet[l2]<<" "<<vet[l3]<<endl;
                    total++;
                }
            }
        }
    }
    cout<<"\nTotal => "<<total<<endl;
    for(i=0;i<n-1;i++)/* coloca em ordem crescente */
        for(j=i+1;j<n;j++)
            if(  vet[i] > vet[j]){
                 aux    = vet[i] ;
                 vet[i] = vet[j] ;
                 vet[j] = aux    ;
            }
    printf("\nNumeros Ordenados Crescente\n");
    for(j=0;j<n;j++)
        printf("%3d\n",vet[j]);
    printf("\n\n");
    printf("Numeros Em Colunas\n");
    for(j=0;j<n;j+=2){
        printf("%3d",vet[j]);
        if(j<4)
            printf(" , %3d\n",vet[j+1]);
    }
    printf("\n\nResultado Da Subtracao\n\n");

    for(j=0;j<n;j++){
        num      = (int)vet[j]/10    ;
        resto    = vet[j] % 10       ;
        if(resto == 0)  resto = 10   ;
        if(num   == 0)  num   = 10   ;
        result   = abs (resto - num );
        printf("%3d - %3d => %3d\n",resto,num,result);
    }
    printf("\n\n");
    getch();
    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





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×