Ir ao conteúdo
  • Cadastre-se

C O que seria o comando | | ?


Posts recomendados

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
  • Confuso 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
2 horas atrás, 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? 

 

É um operador lógico. No caso uma disjunção.

Um exemplo sobre:
http://excript.com/cpp/operador-logico-cpp.html

 

 

  • Curtir 2
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Ok.Estou tentando compila lo mais não consigo?porque será? esses são os erros que mostra lá:

 

18    28    C:\Users\Marcela\Desktop\jogo.cpp    [Error] ISO C++ forbids comparison between pointer and integer [-fpermissive]

20    15    C:\Users\Marcela\Desktop\jogo.cpp    [Error] expected primary-expression before '?' token

20    22    C:\Users\Marcela\Desktop\jogo.cpp    [Error] incompatible types in assignment of 'int' to 'int [60]'

 

20    31    C:\Users\Marcela\Desktop\jogo.cpp    [Error] expected ':' before ';' token

20    31    C:\Users\Marcela\Desktop\jogo.cpp    [Error] expected primary-expression before ';' token

28        C:\Users\Marcela\Desktop\Makefile.win    recipe for target 'jogo.o' failed

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Marcela da Silva de Souza    tem caracteres  soltos aí no código como esse  delete eles , e está faltando o referente a posição do vetor vet  que seria o [ i ]  que sumiu do seu código porque você postou sem usar a tag   <>   que está lá na barra de  ferramentas da janela de postar  .

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Marcela da Silva de Souza    aqui seu código funcionando no dev c++ 4.9.9.2 , copie e cole no seu compilador  :

#include <stdio.h>
#include <stdlib.h>
#include <math.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;/* 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;   
      
        result = abs  (resto - num ) ;
        printf("%3d - %3d => %3d\n",resto,num,result);
    }
    printf("\n\n");
    getch();
    return 0;    
}

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Obrigada compilou super certo!

Só preciso de um outro favorzinho tenho os números que terminam em z na subtração tem que se transfor em 10 ex:

70

7-0 = 3 

Como se fosse assim:      7 - 10 ou 10 - 7= 3 todos os números que terminarem em 0 fica com 0 como se fosse 10. Please😊

        

adicionado 0 minutos depois

#correção 

Só preciso de um outro favorzinho tenho os números que terminam em 0

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

1#

Sobre:

13 horas atrás, Marcela da Silva de Souza disse:

    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   ;
            }

 

Neste primeiro for o i deve ir até Tm-1, pois deveria fazer a comparação até penúltima posição! Se analisar, verás que SEMPRE* a última posição já estará ordenada após ordenar a penúltima (para quê verificar então?) E, de qualquer forma, se o i tive para última posição do vetor, o j estaria para uma posição posterior a última (posição que não existe).

 

Vejam também como foi utilizado i+1 para o j... pois é sabido que não faz sentido comparar duas posições iguais (se usasse j=i), nem muito menos usar j=0 (pois as posições anteriores à i já estão ordenados). Logo, só precisa comparar "das próximas posições em diante".

 

Ficaria algo assim:

    for(i=0;i<Tm-1;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   ;
            }

 

 

 

 

2#

@Marcela da Silva de Souza, de certo modo a proposta inicial do tópico foi em relação ao "significado do símbolo ||". Poderíamos dizer que já foi resolvido 🙂, concorda? Daí, como é o mesmo código, em relação ao algoritmo em si, seria interessante informar do que se trata. Por favor, poste o enunciado completo, que aí podemos reanalisar, e inclusive, verificar se está no caminho correto... ou seja, não adianta corrigir, deixar rodando bem, mas fazendo, por exemplo, algo que não foi pedido... Seria como um cozinheiro entregar uma deliciosa feijoada, mas descobrir que o cliente pediu uma lasanha de frango.

 

 

***

 

No aguardo.

  • Curtir 2
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Desenvolver um programa em c que:

 Conte números de 0 a 60, sendo que o número 0 será válido e como número 10.

Colocar os números em ordem crescente.

Ordenar os números em pares e em colunas

Desmembrar os números que tiverem dezenas ex: 45 = 4, 5 ou 03 = 0, 3

Fazer a subtração entre esses  números ex: 45 = 4 - 5 =  1  ou 03 = 3 - 0 = 7 /* Esse ultimo resultado ficará assim pois o 0 será válido como 10 ou seja 0 = 10   mais exemplos:

40 = 4 - 0 = 10

- 4= 6   Porém está faltando somente essa parte estou tentando fazer mas estou demorando muito que os números iguais a 0 fiquem válidos como 10 na subtração

?

 

 

adicionado 32 minutos depois

O código está assim agora:

 

#include <stdio.h>

#include <stdlib.h>

#include <math.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;/* 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; result = abs (resto - num ) ;

printf("%3d - %3d => %3d\n",resto,num,result);

}

printf("\n\n");

getch();

return 0;

}

 

Até aquí está dando certo rodando e com funcionalidades pedidas e como faço posso colocar mais um for com condição 0 = 10? Como fazer por favor?

adicionado 39 minutos depois

Já deu certo aquí, pela ajuda de vocês boa noite a todos.😘🤗

adicionado 50 minutos depois

Desculpem me o programa só não está conseguindo fazer cálculo assim ex:  03,07 não está conseguindo passar 0 como se fosse 10 no caso o resultado de 03 ficaria 7 ou seja 10- 3= 7 ai ficou igual a 0 como fazer?

1041147120_CapturadeTela(27).thumb.png.57ce91bdfa72f74a1ac75b696f6bace5.png

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Marcela da Silva de Souza   para postar seu código é melhor usar o botão   <>   que está lá na barra de ferramentas da janela de postar pois senão seu código fica faltando  alguns caracteres como os  [ i ]  que sumiram do seu código , e sobre sua pergunta , modifique ali no   ---->  if( resto == 0 ) resto=10 ; coloque assim: 

if(resto == 0 || vet[ j ] < 10 )resto = 10;

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

 int *ptr;
  x = 5;
  ptr = &x;
  printf("O valor da variável X é: %d\n", *ptr);  // derreferenciando um ponteiro
  *ptr = 10;  // usando derreferencia no "lado esquerdo" de uma atribuição
  printf("Agora, X vale: %d\n", *ptr);
}

Posso usar esse código para mudar o valor de 0 para 10? Ou algum cálculo em ordem decrescente com condição se o 0 estiver a esquerda valer 10 igualmente como da direita 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

VAR
numero, cont: inteiro
VAR
 num : VETOR[1..10] de INTEIRO
 

Boa noite, fiz o código no visual G como pediu mas ainda não consegui fazer a função de por exemplo o número 08 se dissolver e se subrair por exemplo 08 = 10 - 8 = 2

12= 10 - 2= 8

 

 

i, maior, menor, soma : INTEIRO

// Seção de Declarações das variáveis 


PARA i:=5 ATE 30 FACA
   ESCREVAL("Digite o", i," numero:")
   LEIA(num)
   soma:= soma + num
 FIMPARA

 maior:= num[1];
 menor:= num[0];

 PARA i:=5 ATE 30 FACA
   SE num > maior ENTAO
     maior:= num;
   SENAO
     SE num < menor ENTAO
       menor:= num;

       escreva ("Digite um numero: ")
leia (numero)
se (numero mod 2 = 0) entao
cont <- cont + 1 // Essa é a variavel contadora, toda a vez que o usuario digitar um numero par ele vai contar acrescentado + 1.
escreval ( numero mod ," É par")
senao
escreval (numero," É impar")
       

   FIMSE
 FIMPARA

Fimalgoritmo

 

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Boa noite só se for o final que d parecido nas não foi pedido algoritmo.vocês pediram p eu fazer isso na verdade e em c++ e a funcao que pede no final do enunciado e para tentar coloca o 0 valendo 10 por exemplo: ao usuario digitar 06= 10 - 3 = 7 ele deve ser desmembrado e feito uma subtração com o próprio numero essa e a ultima funcao que esta sendo pedida no enunciado e em c nao estou conssguindo podem md dar um help please!Nao consigo completar meu codigo tava tentando com numeros absolutos mas n rstou conseguindo.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Marcela da Silva de Souza

 

5 horas atrás, Marcela da Silva de Souza disse:

por exemplo: ao usuario digitar 06= 10 - 3 = 7 ele deve ser desmembrado e feito uma subtração com o próprio numero .

aqui não seria  06 = 10 - 6 = 4  ?

se for isso então seu código pode ser assim  :

#include <stdio.h>
#include <stdlib.h>
#include <math.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;/* aqui é o operador logico   ou */
        }while(flag != 0);
    }
    for(i=0;i<Tm-1;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){
        if(vet[j]<10)  printf("0%d , ",vet[j]  );
        else           printf( "%d , ",vet[j]  );
        if(vet[j+1]<10)printf("0%d\n",vet [j+1]);
        else           printf( "%d\n",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;
}

 

Link para o comentário
Compartilhar em outros sites

Em 28/10/2018 às 05:26, devair1010 disse:

@Marcela da Silva de Souza

 

aqui não seria  06 = 10 - 6 = 4  ?


#include <stdio.h>
#include <stdlib.h>
#include <math.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;/* aqui é o operador logico   ou */
        }while(flag != 0);
    }
    for(i=0;i<Tm-1;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){
        if(vet[j]<10)  printf("0%d , ",vet[j]  );
        else           printf( "%d , ",vet[j]  );
        if(vet[j+1]<10)printf("0%d\n",vet [j+1]);
        else           printf( "%d\n",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;
}

se for isso então seu código pode ser assim  :

 

 

adicionado 2 minutos depoi
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • mês depois...
Em 26/10/2018 às 21:04, devair1010 disse:

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;         }

 

Boa noite nesse código preciso inserir combinação com repetição de 8 números formamdo dezenas com todas as combinacoes possíveis.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Marcela da Silva de Souza     para fazer as combinações você coloca dois loop , sendo o primeiro com a quantidade de números que você quer e o segundo começando da posição do primeiro e indo até esse inicio mais a quantidade de dezenas ,  e dentro do segundo loop você imprime o valor da variável de controle do loop ,  mostre um exemplo de como seria essas combinações e a quantidade de dezenas .

 

Link para o comentário
Compartilhar em outros sites

 Combinações de todos os números possíveis com repetição.

Terei que formar recurso de até 50 dezenas.

Sendo que o usuário digitará os números na tela acho que colocará scanf:

 

Ex: n: 0,1,2,3,3,4,5,6,7,8,9,9                                 Onde C= combinação e n= números

 

     C:10,24,33,56,78,99

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Em 27/12/2018 às 15:24, Marcela da Silva de Souza disse:

 Combinações de todos os números possíveis com repetição.

Terei que formar recurso de até 50 dezenas.

Sendo que o usuário digitará os números na tela acho que colocará scanf:

 

Ex: n: 0,1,2,3,3,4,5,6,7,8,9,9                                 Onde C= combinação e n= números

 

     C:10,24,33,56,78,99

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Marcela da Silva de Souza     no exemplo que você deu então o usuário vai digitar doze números que vão de zero até noventa e nove e depois você quer formar combinações de seis dezenas usando esses doze números , esse código pode ser assim  :

#include <stdio.h>
#include <conio.h>
int main(){
    int i,j,q,t,r,w,vet[12],cont=0;
    FILE *arq=fopen("Minhas Combinacoes.txt","w");
    for(j=0;j<12;j++){
        printf("%d numero ",j+1);
        scanf("%d",&vet[j]);
    }
    printf("\n");
    fprintf(arq,"%s","combinações com esses números  --> ");
    for(j=0;j<12;j++){
        printf("%d",vet[j]);
        fprintf(arq,"%d ",vet[j]);
    }
    printf("\n\n     tecle\n\n");
    fprintf(arq,"%s","\n\n");
    getch();
    for(i=0;i<6;i++){
        for(j=i+1;j<12;j++){
            for(q=j+1;q<12;q++){
                for(r=q+1;r<12;r++){
                    for(t=r+1;t<12;t++){
                        for(w=t+1;w<12;w++){
                            printf("%d - %d - %d - %d - %d - %d\n"
                            ,vet[i],vet[j],vet[q],vet[r],vet[t],vet[w]);
                            fprintf(arq,"%d - %d - %d - %d - %d - %d\n"
                            ,vet[i],vet[j],vet[q],vet[r],vet[t],vet[w]);
                            if(cont==23){cont=-1;printf("   Tecle\n");/*getch();*/}
                            cont++;
                        }
                    }
                }
            }
        }
    }
    fclose(arq);
    printf("Abra O Bloco De notas e abra esse arquivo --> (  Minhas Combinacoes  )\n");
    printf("Que esa na mesma pasta desse programa\n\n");
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!