-
Posts
8 -
Cadastrado em
-
Última visita
Tópicos solucionados
-
O post de ReginaldoPaz em Ministério da Economia de Memória - ponteiros e alocação dinâmica foi marcado como solução
#include<stdio.h> #include<stdlib.h> #include<string.h> int adicionarLinhas(int N, char *linha[N], char *string){ int tam = strlen(string); for(int i = 0; i < N; i++){ if(linha[i] == NULL){ linha[i] = (char*)malloc(tam*sizeof(char)); strcpy(linha[i], string); return 1; }else if(linha[i][strlen(linha[i]) - 1] == '\n'){ continue; }else{ linha[i] = (char*)realloc(linha[i], strlen(linha[i])+10); strcat(linha[i], string); return 1; } } return 0; } void imprimirLinhas(int N, char *linha[N]){ for(int i = 0; i < N; i++){ printf("%s", linha[i]); } } void liberarLinhas(int N, char *linha[N]){ for(int i = 0; i < N; i++){ free(linha[i]); } } int main(){ char str[10]; int N; scanf("%d\n", &N); char *linhas[N]; for(int i = 0; i < N; i++) linhas[i]=NULL; do{ fgets(str, 10, stdin); }while(adicionarLinhas(N, linhas, str)); printf("Texto liberado pelo Ministro\n"); imprimirLinhas(N, linhas); liberarLinhas(N, linhas); return 0; } Demorei postar porque esqueci. rsrsrs
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