Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvidas com dois exercicios em c


IRicardo

Pergunta

já tentei fazer e procurar na internet mas não consegui nada, tenho que entregar ate amanha ou vou reprovar na materia. Por favor me ajudem
2.) Desenvolva um programa para realizar a reserva de assentos em um avião de uma companhia
aérea. Considere que um avião tem 30 fileiras contendo 6 assentos em cada fileira. Represente o
conjunto de assentos como uma matriz. Inicialmente a matriz deverá conter zero em todas as
posições, indicando que todos os lugares estão disponíveis. Peça ao usuário para escolher o lugar
que ele quer reservar. Se o lugar estiver disponível coloque 1 nessa posição da matriz para indicar
que o lugar a partir de agora encontra-se ocupado. Se o lugar já estiver ocupado, exiba uma
mensagem de alerta para o usuário e peça para ele escolher outro lugar.
4.) Digite quantos pontos cada time da Série A obteve em cada rodada do Campeonato Brasileiro
2015. Ao término da digitação informe qual time foi o campeão, quais os classificados para a
Libertadores e quais os rebaixados para a Série B. Os 20 times da Série A podem ser armazenados
em um vetor preenchido no próprio código do programa. Peça para o usuário digitar o número de
rodadas e a pontuação de cada time em cada rodada.
5.) Continue o programa da questão anterior calculando e imprimindo uma matriz contendo o
número vitórias, o número de empates e o número de derrotas de cada time. Para fazer isso você
precisa saber que uma vitória vale 3 pontos, um empate vale 1 ponto e uma derrota vale zero
pontos.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

A ver si te serve esse. sobre as reservas de passagens.

// Desenvolva um programa para realizar a reserva 
//de assentos em um avião de uma companhia aérea.
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

void imprimir( int a[][6] ){
    system( "cls" );
    int i, z;
    printf ( "     A  B    C  D    E  F\n==========================\n" );
    for ( i = 0; i < 30; i++ ){
        printf ( "%02d) ", i+1 );
        for ( z = 0; z < 2; z++ ){printf( "[%d]", a[i][z] );}printf( "  " );
        for (      ; z < 4; z++ ){printf( "[%d]", a[i][z] );}printf( "  " );
        for (      ; z < 6; z++ ){printf( "[%d]", a[i][z] );}printf( "\n");                
    }
    printf("\n");
}

int main (){
    int letra = 0;
    int numero = 0;
    //Considere que um avião tem 30 fileiras contendo 6 assentos em cada fileira. Represente o 
    //conjunto de assentos como uma matriz
    int bancos[30][6] = {0}; // Inicialmente a matriz deverá conter zero em todas as
                             //posições, indicando que todos os lugares estão disponíveis.
    bancos[10-1/*10*/][0/*A*/] = 1; //estabelecemos um banco como ocupado para provar si o programa avisa em caso o banco esteja ocupado. Corresponde ao banco A10.
    
    int continuar = 1;
    int opcao = 0;
    while ( continuar == 1 ){
        imprimir(bancos);
        //Peça ao usuário para escolher o lugar que ele quer reservar.
        printf( "Escolha 1 para reservar acento ou 0 para sair." );
        scanf ("%d%*c", &opcao);
        
        switch(opcao){
            case 1:
                printf( "Escolha um banco. Exemplo A10: ");
                scanf( "%1c%2d%*c", &letra, &numero );
                numero--;
                letra = toupper(letra);
                letra = letra - 65; //transforma letra en numero conforma a tabela asc2
                                    //Si o usuario escolher o banco A10, a letra 'A' na tabela vale 65, entao 
                                    //para tranformar 65 em 0 é só restar 65 kkk, si escolhemos letra 'B', 
                                    //ela vale 66 na tabela, si restamos 65 ficamos com 1 e assim 
                                    //sucesivamente. Com isso obtenho o banco que é de 0 a 5 ja que sao 6 bancos.    
                
                //comprovamos si o usuario escolheu uma opçao valida por segurança
                if ( (( letra<0 || letra>5  ) || ( numero < 0 || numero > 29 )) ){
                    system( "cls" );
                    printf("Esse banco nao existe. Vc quer voar encima da asa? Pulse uma tecla para continuar...\n");
                    getchar();
                }
                
                //Se o lugar já estiver ocupado, exiba uma mensagem de alerta para 
                //o usuário e peça para ele escolher outro lugar.
                if ( bancos[numero][letra] == 1 ){
                    system("cls");
                    printf("Banco ocupado! "); // si banco esta ocupado mostramos aviso e voltamos ao principio para reservar um banco, nada acontece.
                    getchar();
                }else{
                    //Se o lugar estiver disponível coloque 1 nessa posição da matriz para indicar
                    //que o lugar a partir de agora encontra-se ocupado
                    bancos[numero][letra] = 1;    
                }
                break;
            case 0:
                system("cls");
                continuar = 0;
                break;
            default:
                break;
        }

    }

    return 0;
}

Sobre os exercícios 4 e 5 acho que são muito confusos, não entendi muito bem o exercício e não entendo nada de futebol.

E uma coisa mais... A ver si estudamos mais é. kkk :lol:

4.) Digite quantos pontos cada time da Série A obteve em cada rodada do Campeonato Brasileiro2015....

Não especificas quantas rodadas são, nem todos aqui sabemos de futebol como bem comentei antes.

Ao término da digitação informe qual time foi o campeão, quais os classificados para a

Libertadores e quais os rebaixados para a Série B. Os 20 times da Série A podem ser armazenados

em um vetor preenchido no próprio código do programa....

A ver si aclaramos... Como vou digitar si logo depois disse que podemos guardar isso dentro do programa. Não entendo esse ponto :mellow:


Peça para o usuário digitar o número de

rodadas e a pontuação de cada time em cada rodada.

Si o numero de rodadas pode variar então é memoria dinâmica???

nem vou comentar o 5 por que nem passei do 4, isso ta muito mal explicado.

Relatar bem a sua duvida pode agilizar sua ajuda, tome nota. Deixe ideias ou qualquer adianto que você tenha feito.

Os fóruns não estão para fazer seus deveres e sim para tirar duvidas concretas que você possa ter.

sorte

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pelo exercicio 2. Bem, vou tentar explicar um pouco do campeonato.

Serão 20 equipes disputando o título no sistema de pontos corridos. Cada time fará 38 jogos divididos em turno e returno, sendo 19 jogos como mandante e outros 19 como visitante. O campeão será a agremiação que fizer mais pontos ao fim do campeonato. Os quatro últimos colocados serão rebaixados para a Série B do Campeonato Brasileiro e os três primeiros disputam a Copa Santander Libertadores da America.

Mas no exercicio que ele pediu o usuario devera escolher quantas rodadas o campeonato terá e escolher tambem a pontuação de cada equipe em cada rodada, ou seja, é um campeonato ficticio que voce mesmo vai decidir a pontuação e a colocação de cada time.

Os 20 times participantes são:
Link para o comentário
Compartilhar em outros sites

  • 0

Ainda com sua aportaçao fica difícil para mim, sinto muito mais não entendi nada.

você tem 2 exercícios e deve descrever passo a passo que quer fazer.

No seu exemplo:

Os 20 times participantes são:
1 São Paulo 0 2 Atlético-PR 0 3 Sport 0 4 Corinthians 0 5 Ponte Preta 0 6 Atlético-MG 0 7 Grêmio 0 8 Fluminense 0 9 Avaí 0 10 Cruzeiro 0 11 Internacional 3 12 Chapecoense 1 13 Palmeiras 1 14 Goiás 1 15 Figueirense 0 16 Flamengo 0 17 Santos 0 18 Coritiba 0 19 Vasco 0 20 Joinville 0

você disse que os times comtem o seguinte formato: 1 São Paulo 0,... Deu para entender que time1 de nome são paulo tem 0 pontos. Porem como vai ser 0, 1 ou 3 pontos si temos até 38 rodadas? Esta muito mal explicado, continuamos igual, ou eu presto atenção no que você me diz ou no que se esta pedindo no seu trabalho, mas ambos estão ao menos para mim incompreensíveis, sinto muito mais assim não posso fazer muito.

explique os passos a seguir no programa por que sessa forma não sou capaz. Não se esqueça que são 2 programas, explique os dois.

Que tipo de dados tem que ser usados, memoria dinâmica, estruturas, etc?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...