Ir ao conteúdo

C++ apresentar em ordem crescente e decrescente usando o switch


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

 me tirem uma duvida o modo que eu elaborei a resposta esta certo.Switch - crescente e decrescente: Escreva um programa em C que leia 3 valores
e um codigo. Se o codigo for \c" os valores devem ser escritos em ordem crescente. Se o
codigo for \d", deve-se escrev^e-los em ordem \decrescente". Utilizar o comando \switch".

 

 

#include<iostream>
#define N 3
using namespace std;
int main()
{
    int val[N],i,j,aux,menor;
    char ordem;
    for("i=o";i<N;i++)
    {
    cout<<"informe o"<<"o valor:";
    cin>>val;
    }
    for(i=0;i<N-1;i++){
    for(j=i;j<N;j++)
    if(val>val[j])
    menor=j;
    if(menor!=i){
    aux=val;
    val=val[menor];
    val[menor=aux];
    }
    }
    cout<<"informe a ordem desejada [c/d]:";
    cin>>ordem;
    switch(ordem)
    {
    case'c':
    case'C':
    {
    cout<<"ordem crescente"<<endl;
    for ("i=o";i<N;i++);
    cout<<"/t"<<val;
    cout<<endl;
    }
    case'd':
    case'D':
    {
    cout<<"ordem decrescente"<<endl;
    for ("i=o";i<N;i++)
    cout<<"/t"<<val;
    cout<<endl;    
    }
    "default";
    cout<<"ordem invalida"<<endl;
    }
    return 0;
    }
 

 

  • Solução
Postado

@Jessica Nunes Amorim    quase ! , mas precisa colocar a função que ordena na posição certa dentro do switch ,  e você colocou antes do switch ,  então , organizando seu código , e ele poderia ser assim  :

#include <iostream>
#include <ctype.h>
#include <conio.h>
#include <windows.h>
#define N 3
using namespace std;
int carac[4]={47,92,179,196};
int main(){
    int val[N],i,j,aux,menor,k=0;
    char ordem,op;
    for(i=0;i<N;i++){
        cout<<"informe o valor : ";
        cin>>val[i];/* faltou a posição no vetor */
    }
    cout<<"informe a ordem desejada [c/d]:";
    cin>>ordem;
    switch(toupper(ordem)){
    case 'C':
        cout<<"ordem crescente\n"<<endl;
        for(i=0;i<N-1;i++)
            for(j=i+1;j<N;j++)
                if( val[i]  > val[j]){/* faltou a posição no vetor */
                    aux     = val[i] ;/* faltou a posição no vetor */
                    val[i]  = val[j] ;/* faltou a posição no vetor */
                    val[j]  = aux    ;
                }
        for(i=0;i<N;i++)
            cout<<val[i]<<" ";
        cout<<endl;
        break;/* parar senão faz esse de baixo também */
    case 'D':
        cout<<"ordem decrescente\n"<<endl;
        for(i=0;i<N-1;i++){
            for(j=i+1;j<N;j++)
                if( val[i] < val[j]){/* faltou a posição no vetor */
                    aux    = val[i] ;/* faltou a posição no vetor */
                    val[i] = val[j] ;/* faltou a posição no vetor */
                    val[j] = aux    ;
                }
        }
        for (i=0;i<N;i++)
            cout<<val[i]<<" ";
        cout<<endl;
        break;/* parar senão faz esse de baixo também */
    default:
        cout<<"ordem invalida"<<endl;
    }
    cout<<"\n\n    Sair  S/N \n\n"<<endl;
    while(toupper(op)!='S'){
        cout<<"       "<<(char)carac[k]<<"\r";
        Sleep(200);
        k++;
        if(k>3)k=0;
        if(kbhit())op=(char)getch();
    }
    cout<<"\n\n"<<endl;
    return 0;
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades sobre tecnologia do Brasil. Leia mais

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...