Ir ao conteúdo

Posts recomendados

Postado

Olá, minha duvida é o seguinte, gostaria de saber como faço no código abaixo, para que minha matriz seja lida dentro do main, e após dentro do subprograma, um vetor receba os valores desta matriz e e exiba a matriz lida? 

#include <stdio.h>

#define tam 4


void exibirresultado(int provNot[][3]);

int main(){
     int provNot [tam][3];
     int i,j;

     printf("\n #########################################\n");

            for(i=1; i<=tam; i++){
            printf("Digite a nota do  %d aluno:\n",i);
                for(j=0; j<3; j++){
                    printf("Prova %d :\n",j+1);
                    scanf("%d",&provNot[i][j]); 
            }
        }
            exibirresultado(provNot);

    }   
    void exibirresultado(int provNot[][3]){
        int i,j,teste[tam][3];
                for(i=1; i<=tam; i++){
                    for(j=0;i<3;j++){
                        teste[i][j]=provNot[i][j];
                    }
                }
                    for(i=1; i<=tam; i++){
                    for(j=0;i<3;j++){
                        printf("%d === %d",i, teste[i][j]);
                    }
                }
    }

 

Postado
#include <stdio.h>

#define tam 3

void exibirresultado(int provNot[][tam]);

int main()
{
    int provNot [tam][tam];
    int i,j;

    printf("\n #########################################\n");

    for(i=0; i<tam; i++)
    {
        printf("Digite a nota do  %d aluno:\n",i+1);
        for(j=0; j<tam; j++)
        {
            printf("Prova %d :\n",j+1);
            scanf("%d",&provNot[i][j]);
        }
    }
    exibirresultado(provNot);
    return 0;

}
void exibirresultado(int provNot[][tam])
{
    int i,j,teste[tam][tam];
    for(i=0; i<tam; i++)
    {
        for(j=0; j<tam; j++)
        {
            teste[i][j]=provNot[i][j];
            printf("%d === %d\n",i, teste[i][j]);
        }
    }
}

Seria algo assim?

Postado
17 minutos atrás, allanxd disse:

#include <stdio.h>

#define tam 3

void exibirresultado(int provNot[][tam]);

int main()
{
    int provNot [tam][tam];
    int i,j;

    printf("\n #########################################\n");

    for(i=0; i<tam; i++)
    {
        printf("Digite a nota do  %d aluno:\n",i+1);
        for(j=0; j<tam; j++)
        {
            printf("Prova %d :\n",j+1);
            scanf("%d",&provNot[i][j]);
        }
    }
    exibirresultado(provNot);
    return 0;

}
void exibirresultado(int provNot[][tam])
{
    int i,j,teste[tam][tam];
    for(i=0; i<tam; i++)
    {
        for(j=0; j<tam; j++)
        {
            teste[i][j]=provNot[i][j];
            printf("%d === %d\n",i, teste[i][j]);
        }
    }
}

Seria algo assim?

Muito obrigado deu certo, queria entender que alem da mudança que você fez na parte do i e j iniciando com 0(algo que entendi),porque  teve de utilizar tam e vez de numeros para definindo o tamanho do vetor? poís percebi que  só funciona se utilizar TAM.;-;

Postado

O define basicamente é uma constante. Nesse caso, toda vez que o compilador ver a palavra tam, ele vai substituir pelo valor 3. Então seria o mesmo que colocar o valor 3 em todas as ocorrências de tam. Se trocar o tam no código por 3 verá que o código compila também.

  • Amei 1
Postado
7 minutos atrás, allanxd disse:

O define basicamente é uma constante. Nesse caso, toda vez que o compilador ver a palavra tam, ele vai substituir pelo valor 3. Então seria o mesmo que colocar o valor 3 em todas as ocorrências de tam. Se trocar o tam no código por 3 verá que o código compila também.

Certo, tenho outra pergunta, é possivel um vetor de v[4] ou v[4][1] receber os dados de uma matriz [4][3]. Neste caso eu so quero receber os dados da primeira linha da matriz e exibi-los. Ex. 

void exibirresultado( int provNot[][col]){
		int i,j,menor[4][1],aux ;
		
		for(i=0; i<lin; i++){
			menor[i][0]=99999999;
				for(j=0;j<col;j++){
					if(provNot[i][j]<menor[i][j]){
						menor[i][j]=provNot[i][j];
					}
				}
			}				
				for(i=0;i<lin;i++){
					printf("%d ",i+1);
					for(j=0;j<1;j++){	
						printf(" = %d \n",menor[i][j]);
			}		
		}
	
 	}

 

Postado

É possível colocar o conteúdo de uma matriz em outra ou até mesmo em um vetor, até onde eu sei, desde que não ultrapasse os limites, senão pode dar erro em execução. Mas se esse código é de outra questão pode criar um novo tópico para vermos como está por completo.

Postado
1 minuto atrás, allanxd disse:

É possível colocar o conteúdo de uma matriz em outra ou até mesmo em um vetor, até onde eu sei, desde que não ultrapasse os limites, senão pode dar erro em execução. Mas se esse código é de outra questão pode criar um novo tópico para vermos como está por completo.

Obirgada, ja consegui :)

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

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

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!