Jump to content
Fórum Script Brasil
  • 0

Tenho uma dúvida em C


mxpxman

Question

Como consigo criar uma tabela com x colunas e y linhas?? O define está correto?

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 40
int main() {
    int X, Y;
    
    printf("X: ");
    scanf("%d",&X);
    printf("Y: ");
    scanf("%d",&Y);
    printf("\n");
    
    /* Faça uma tabela com x linhas e y colunas */
    
    
    return 0;
}

Link to post
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Tenho de fazer uma tabela com x colunas e y linhas, o define está a mais e por isso tirei-o, estou com algumas dificuldades em resolver este problema básico. o código já está iniciado e só tenho de o acabar

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
    int X, Y;
    
    printf("X: ");
    scanf("%d",&X);
    printf("Y: ");
    scanf("%d",&Y);
    printf("\n");
    
    /* Faça uma tabela com x linhas e y colunas */
    
    
    return 0;
}

Link to post
Share on other sites
  • 0

    int X, Y;
    
    printf("X: ");
    scanf("%d",&X);
    printf("Y: ");
    scanf("%d",&Y);
    printf("\n");
int **tabela= (int*)malloc( X*Y*sizeof(int) );

E quando terminar
free(tabela);

Se não funcionar avise

Link to post
Share on other sites
  • 0
4 horas atrás, mxpxman disse:

eu creio que tenho de  criar dois for loops q preenchem uma array bidimensional
Depois tenho de printar a array atraves de um for loop também.

 

Como faço? Obrigado

você leu o que eu coloquei? busque no google "alocação de matriz dinâmica em C".

Link to post
Share on other sites
  • 0

Opa, beleza.

é bem interessante quando o usuário está focado em aprender e não em copiar.

um exemplo do que precisa, logo abaixo.

#include <stdio.h>
  
int main(){
	int X, Y;
    
    printf("X: ");
    scanf("%d",&X);
    printf("Y: ");
    scanf("%d",&Y);
    printf("\n");
  
  int matriz[X][Y];
  
}

para você preencher a matriz voce usa dois for, sendo um para andar pelas linhas e outro pelas colunas.

até mais.

Link to post
Share on other sites
  • 0

Olá, se eu não entendi os conceitos de vetor erroneamente, não é uma boa prática definir o tamanho de um vetor por meio de uma variável pois o vetor é criado em tempo de compilação (antes do programa executar) já que é necessário destinar uma faixa na memória para o vetor.

"Às vezes, a quantidade de memória a alocar só se torna conhecida durante a execução do programa. Para lidar com essa situação é preciso recorrer à alocação dinâmica de memória. A alocação dinâmica é gerenciada pelas funções malloc, realloc e free, que estão na biblioteca stdlib.(...)", este trecho retirei do site https://www.ime.usp.br/~pf/algoritmos/aulas/aloca.html

Caso não tenha aprendido alocação dinâmica (o que é o meu caso) faça um vetor de um tamanho "aceitável" e no for determine o limite. Por exemplo:

 

#include <stdio.h>
#define MAX_T 50
  
int main(){
	int X, Y, i, j;
  	int matriz[MAX_T][MAX_T];
    
    printf("X: ");
    scanf("%d",&X); /*Linha*/
    printf("Y: ");
    scanf("%d",&Y); /*Coluna*/
    printf("\n");
  
  	for(i = 0; i < X; i++) /*Usando X como limite para linha (assuminto que X será menor que MAX_T, você pode validar antes*/
		for(j = 0; j < Y; j++) /*Usando Y como limite para linha (assuminto que X será menor que MAX_T, você pode validar antes*/
  			/*Preenchimento da Matriz*/
return 0;
}

Se falei alguma besteira me corrijam por favor :S

Link to post
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.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148719
    • Total Posts
      644508
×
×
  • Create New...