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

C O que seria o comando | | ?

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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;
}

 

Compartilhar este post


Link para o post
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

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

×