mxpxman Postado Novembro 18, 2016 Denunciar Share Postado Novembro 18, 2016 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; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Exata0mente Postado Novembro 18, 2016 Denunciar Share Postado Novembro 18, 2016 A tabela pode ser feita com matriz (vetor bidimensional). O define não está fazendo sentido no contexto que nos passou. Teria o enunciado do problema completo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mxpxman Postado Novembro 18, 2016 Autor Denunciar Share Postado Novembro 18, 2016 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;} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 junior c Postado Novembro 18, 2016 Denunciar Share Postado Novembro 18, 2016 compilou Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mxpxman Postado Novembro 19, 2016 Autor Denunciar Share Postado Novembro 19, 2016 Ele compila, mas não cria a tabela porque falta essa parte do código Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mxpxman Postado Novembro 19, 2016 Autor Denunciar Share Postado Novembro 19, 2016 É pretendido que eu coloque os valores para X e Y e seja retornada uma tabela com os valores introduzidos. Exemplo x:2 (linhas) Y:3 (colunas) +++ +++ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Novembro 19, 2016 Denunciar Share Postado Novembro 19, 2016 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mxpxman Postado Novembro 20, 2016 Autor Denunciar Share Postado Novembro 20, 2016 eu creio que tenho de criar dois for loops q preenchem uma array bidimensionalDepois tenho de printar a array atraves de um for loop também. Como faço? Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Novembro 20, 2016 Denunciar Share Postado Novembro 20, 2016 4 horas atrás, mxpxman disse: eu creio que tenho de criar dois for loops q preenchem uma array bidimensionalDepois 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". Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mxpxman Postado Novembro 20, 2016 Autor Denunciar Share Postado Novembro 20, 2016 Não deu. Coloquei o que disse, mas não deu. Ainda não cehguei à parte do comando malloc, por isso não posso usá-lo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Novembro 20, 2016 Denunciar Share Postado Novembro 20, 2016 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mxpxman Postado Novembro 20, 2016 Autor Denunciar Share Postado Novembro 20, 2016 Supondo que o numero máximo de linhas e colunas é 40 faço: for (X=0;X<40;X++) for (Y=0;Y<40;Y++) Certo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Exata0mente Postado Novembro 21, 2016 Denunciar Share Postado Novembro 21, 2016 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mxpxman
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 para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
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.