Jump to content
xande013

Matrizes e Vetores em C++ nível iniciante

Recommended Posts

/*

Desenvolver um programa para realizar a correção de um prova de múltipla escolha.

Os dados iniciais a serem lidos são:

- A quantidade de candidatos (N) e

- A quantidade de questões aplicadas (M).

As respostas possíveis que poderão ser aceitas são: A, B, C, D e E. 
O primeiro conjunto de dados a ser lido será o gabarito com as respostas corretas das M questões.

Após o gabarito, serão lidos os nomes as respostas de cada candidato.

Os valores das questões são iguais.

A nota máxima é 10 e a de classificação é 5.

As estruturas que deverão ser utilizadas são:


O programa deverá:

a) Gerar o vetor NOTA;

b) Apresentar o relatório geral contendo o nome do candidato e sua nota;

c) Calcular e apresentar a média geral dos candidatos;

d) Apresentar a quantidade e o percentual de classificados e desclassificados;

e) Apresentar o relatório de candidatos classificados;

f) Apresentar a melhor nota obtida e seu(s) respectivo(s) candidato(s);

g) Gerar o vetor ACERTOS com o percentual correspondente e apresentá-lo.

*/

#include <iostream>
using namespace std; // torna desnecessária o uso do comando standard (std) antes das variáveis

main()
{
	setlocale(LC_ALL,"Portuguese");
	int M[2][2],l, c, nota=0, soma=0, media=0, i=0, j=0;
	string nome[j];
	cout<<"Digite seu nome"<<endl;
	cin>>nome[j];
	for(l=0;l<2;l++)
	
	{
		for (c=0;c<2;c++)
		{
			cout<<"["<<l<<"]["<<c<<"] : ";
			cin>>M[l][c];			
		
		}	
	}
	
	for (l=0;l<2;l++)
	{
		for (c=0;c<2;c++)
		
		{
			cout<<M[l][c]<<" ";
		}
		cout<<endl;
	}
	
	cout<<"Matriz A "<<"  Vetor B "<<endl;
	for (l=0;l<2;l++)
	{
			
		soma=0;
		for (c=0;c<2;c++) 
		{
			cout<<M[l][c]<<" | ";
			soma=soma+M[l][c];
			media=soma/3;
		}
	cout<<" = "<<media<<endl;
	
	
	}
	cout<<"Somatório da colunas: "<<endl;
	for (c=0;c<2;c++) 
	{
			
		soma=0;
		for (l=0;l<2;l++) 
		{
			soma=soma+M[l][c];
		}
	cout<<soma<<endl;
	
	
	}

	cout<<"Somatório da Diagonal: "<<endl;
	for (l=0;l<2;l++) 
	{
		soma=0;
		for (l=0;l<2;l++) 
		{
			soma=soma+M[l][l];
		}
	cout<<soma<<endl;
	
	
	}
	
}

A pergunta é, como imprimir os nomes na coluna 0 e linhas de 1 a 5

e como fazer para que as respostas possíveis que poderão ser aceitas sejam: A, B, C, D e E?

Edited by xande013
erro gramatical

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By christin cley
      Construir um algoritmo em C++ que preencha um matriz quadrada de tamanho 4 pelo usuário. Após o preenchimento pelo usuário, verifique na diagonal principal qual foi o maior valor digitado e exiba na tela o valor. Por fim,  exiba na tela toda matriz em forma de matriz na tela.
    • By vinicius.benedito98
      Faça um Programa em Linguagem C que receba o nome e a nota de 180 alunos de uma sala e armazene em vetor. Calcule e mostre: 
      - A média da sala; 
      - O nome do aluno com a maior nota; 
      - O nome do aluno com a menor nota; 
      - Os nomes dos alunos aprovados;

      O meu código é esse :

      #define N 180 
      int main() { 
      int i, ind_maior, ind_menor; 
      float nota[N], soma=0, media, min_aprov=7; 
      char nome[N][50]; 
      for (i=0; i printf("Informe o nome do %dº aluno: ", i+1); 
      gets(nome); 
      printf("Informe a nota do %dº aluno: ", i+1); 
      scanf(" %d ", &nota); 
      soma += nota; 

      media = soma / N; 
      printf("\nMédia da sal: %.2f\n", media); 
      ind_menor = ind_maior = 0; 
      for (i=1; i if (nota < nota[ind_menor]) 
      ind_menor = i; 
      if (nota > nota[ind_maior]) 
      ind_maior = i; 

      printf("Menor nota: %s com %.2f\n", nome[ind_menor], nota[ind_menor]); 
      printf("Maior nota: %s com %.2f\n", nome[ind_maior], nota[ind_maior]); 
      printf("Aprovados:"); 
      for (i=0; i if (nota >= min_aprov) 
      printf("\t%s com: %.2f\n", nome, nota); 

      return 0; 
      }


      Porém quando vou executa-lo, o programa pede para inserir o nome e nota do aluno apenas uma vez, e fica por isso, ele não exibe os resultados, alguém pode me ajudar ?
    • By Vitor Dória
      Pessoal,estou fazendo uma serie de exercícios em c++ e to me batendo muito em um exercício aqui,poderiam me ajudar?
       
       
      Construir um algoritmo em C++ que preencha um matriz quadrada de tamanho 4 pelo usuário. Após o preenchimento pelo usuário, verifique na diagonal principal qual foi o maior valor digitado e exiba na tela o valor. Por fim,  exiba na tela toda matriz em forma de matriz na tela.
    • By matheusxds12
      Gostaria de saber qual o problema com o meu código pois ao compilar e executar ele simplesmente abre o DOS e fecha sem realizar nenhuma tarefa 
      #include <stdlib.h> #include <stdio.h> #include <locale.h> // aux1 = contador de coluna e aux2 = contador de linha int main () { setlocale(LC_ALL, "portuguese"); int m1, n1, m2, n2, matriz1[m1][n1], matriz2[m2][n2],matrizsoma[m1][n1],aux1,aux2,elemento,contadorlinha=0; printf("Entre com o número de linhas da 1ª matriz : "); scanf("%i",&m1); printf("Entre com o número de colunas da 1ª matriz : "); scanf("%i",&n1); printf("Entre com o número de linhas da 2ª matriz : "); scanf("%i",&m2); printf("Entre com o número de colunas da 2ª matriz : "); scanf("%i",&n2); if ((m1==m2) && (n1==n2)){ for (aux2 = 0;aux2<m1;aux2++){ for (aux1=0;aux1<n1;aux1++){ contadorlinha=aux1+1; printf("Matriz A:"); printf("Entre com os elementos um a um, separados por espaço da %iª linha: ",contadorlinha); scanf("%i",&elemento); matriz1[aux2][aux1]=elemento; } } for (aux2 = 0;aux2<m2;aux2++){ for (aux1=0;aux1<n2;aux1++){ contadorlinha=aux1+1; printf("Matriz B:"); printf("Entre com os elementos um a um, separados por espaço, da %iª linha: ",contadorlinha); scanf("%i",&elemento); matriz2[aux2][aux1]=elemento; } } for (aux2=0;aux2<m1;aux2++){ for(aux1=0;aux1<n1;aux1++){ matrizsoma[aux2][aux1]=matriz1[aux2][aux1]+matriz2[aux2][aux1]; } } printf("Matriz C = A + B:\n"); for (aux2=0;aux2<m1;aux2++){ for(aux1=0;aux1<n1;aux1++){ printf("%i",matrizsoma[aux2][aux1]); } printf("\n"); } } else{ printf("\nParâmetros das matrizes inválidos para a soma!\n"); printf("Ambas devem ter o mesmo número de linhas e colunas\n"); } system("pause"); return 0; }  
    • By Svinnicius
      Ao sair de um procedimento e entrar em outro, ta apresentando erro quando tento finalizar o programa.
       
      Var
      // Seção de Declarações das variáveis 
      nome: vetor [1..3]  de caractere
      telef: vetor [1..3]  de caractere
      ema: vetor [1..3]  de caractere
      codigo,codigo_contato,codigo_contato_cheio, menu_apagar,opc, opc1: inteiro
      cont, menu_mostrar,op: inteiro
      procedimento principal()
      Inicio
      // Seção de Comandos, procedimento, funções, operadores, etc... 
      repita
      escreval ("")
      escreval ("=== AGENDA TELEFÔNICA ===")
      escreval ("")
      escreval ("1. Inserir novo contato")
      escreval ("2. Apagar contato")
      escreval ("3. Mostrar todos os contatos")
      escreval ("4. Sair")
      escreva ("Digite opcao: ")
      leia (codigo)
      limpatela
      ate (codigo=1) ou (codigo=2) ou (codigo=3) ou (codigo=4)
      escolha (codigo)
      caso 1
         contato()
      caso 2
         apagar()
      caso 3
         mostrar()
      caso 4
         interrompa
      fimescolha
      fimprocedimento
      //---------------------- NOVO CONTATO ----------------------
      procedimento contato()
      inicio
      para cont de 1 ate 3 faca
      limpatela
      escreval("== INSERIR NOVO CONTATO ==")
            escreva ("Nome: ")
            leia (nome[cont])
            escreva ("Telefone: ")
            leia (telef[cont])
            escreva ("E-mail: ")
            leia (ema[cont])
            escreval("")
            escreval("Usuario cadrastrado com sucesso")
            repita
            escreval("")
            escreval("1.Insira novo contato")
            escreval("2.Voltar ao menu")
            escreval("")
            escreva("Digite opção: ")
            leia(codigo_contato)
      escolha (codigo_contato)
      caso 1
      escreva("")
      caso 2
         interrompa
         limpatela
         principal()
      outrocaso
      escreval("")
      escreval("Opção invalida")
      escreval("")
      escreval("Pressione ENTER para voltar")
      leia(op)
      limpatela
      fimescolha
      ate codigo_contato = 1
      fimpara
      limpatela
                escreval("")
                escreval("Lista de contato cheia")
                repita
                escreval("")
                escreval("1.Voltar ao menu")
                escreval("2.Sair")
                escreval("")
                escreval("Digite opção")
                leia(codigo_contato_cheio)
          escolha (codigo_contato_cheio)
                caso 1
                limpatela
                principal()
                caso 2
                interrompa
                outrocaso
      escreval("")
      escreval("Opção invalida")
      escreval("")
      escreval("Pressione ENTER para voltar")
      leia(op)
      limpatela
      fimescolha
      ate codigo_contato_cheio = 1
      fimprocedimento

      //------------------------ Apagar contato------------------------------------
      procedimento apagar()
      inicio
      limpatela
      escreval("== APAGAR CONTATO ==")
      Escreval("")
      escreva ("Qual contato você quer apagar? ")
      Escreval("")
      para cont de 1 ate 3 faca
      Escreval(cont,". ",nome[cont])
      fimpara
      Escreval("")
      Escreva("Digite opção:")
      Leia(opc)
      se opc >0 entao
         se opc <4 entao
      nome[opc]<-""
      telef[opc]<-""
      ema[opc]<-""
      Escreval("")
      Escreval("Contato Apagado com sucesso")
      repita
      escreval("")
      escreval("1.Apagar outro contato")
      escreval("2.Voltar ao menu")
      escreval("3.Sair")
      escreva("Digite opção:")
      leia(menu_apagar)
      Escolha(menu_apagar)
      caso 1
      limpatela
      apagar()
      caso 2
      limpatela
      principal()
      caso3
      interrompa
      outrocaso
      escreval("")
      escreval("Opção invalida")
      escreval("")
      escreval("Pressione ENTER para voltar")
      leia(op)
      senao
      apagar()
      fimse
      fimse
      fimse
      fimescolha
      ate menu_apagar = 3
      fimprocedimento
      //-------------------------- Mostrar todos os contatos ---------------------
      procedimento mostrar()
      inicio
      limpatela
      escreval("== LISTA DE CONTATOS ==")
      Escreval("")
      para cont de 1 ate 3 faca
      Escreval(cont,". ",nome[cont])
      fimpara
      Escreval("")
      Escreva("Digite opção:")
      Leia(opc1)
      se opc1 >0 entao
         se opc1 <4 entao
      limpatela
      Escreval("Nome: ",nome[opc1])
      Escreval("Telefone: ",telef[opc1])
      Escreval("E-mail: ",ema[opc1])
      repita
      escreval("")
      escreval("1.Mostrar outro contato")
      escreval("2.Voltar ao menu")
      escreval("")
      escreva("Digite opção:")
      Leia(menu_mostrar)
      Escolha(menu_mostrar)
      caso 1
      limpatela
      mostrar()
      caso 2
      limpatela
      principal()
      outrocaso
      escreval("")
      escreval("Opção invalida")
      escreval("")
      escreval("Pressione ENTER para voltar")
      leia(op)
      senao
      mostrar()
      fimse
      fimse
      fimescolha
      limpatela
      ate menu_mostrar = 1
      fimprocedimento
      inicio
      // Seção de Comandos
        principal()
      Fimalgoritmo
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.