Jump to content
Fórum Script Brasil
  • 0

Dúvidas com dois exercicios em c


IRicardo
 Share

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...