Enviado em 14/06/2013 - 12:52h
bom pessoal, boa tarde.
char matris[30][26][302];
//Obs: k = numero de linhas
Aqui é onde faço a quebra usando strtok.
char *ponteiro;
ponteiro = strtok(vetor, "\t");
int i,j;
for(i=0;i<k;i++){
for(j=0;j<colunas;j++){
while (ponteiro != NULL){
strcpy(matris[i][j], ponteiro);
ponteiro = strtok(NULL,"\t");
}
}
}
//Depois para dar print, faço o seguinte.
int w,z;
for(w=0;w<k;w++){
for(z=0;z<colunas;z++){
printf("%s", matris[w][z]);
}
}
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <assert.h>
int conta(char c, char *s){
int num_vezes=0;
while(*s!='{TTEXTO}'){
if(*s== '\t'){
num_vezes++;
}
s++;
}
return num_vezes;
}
int ordenar(int vetorDeNumeros[]){
int tamanhoVetor = (sizeof vetorDeNumeros)/(sizeof vetorDeNumeros[0]);
int i;
int j;
int temp;
for(i=0;i<tamanhoVetor;i++){
for(j=0;j<tamanhoVetor;j++){
if(vetorDeNumeros[i] < vetorDeNumeros[j]){
temp = vetorDeNumeros[i];
vetorDeNumeros[i] = vetorDeNumeros[j];
vetorDeNumeros[j] = temp;
}
}
}
return vetorDeNumeros[0];
}
int main(){
//int tamanho = 0;
char vetor[302];
int m;
int k=0;
int colunas = 0;
int vetorDeNumeros[2];
//localiza pelo numero maximo de coisas que ele vai ler
char matris[30][26][302];
//inicia-se o loop
while(1){
//Recebe os dados
fgets(vetor, 302, stdin);
//Verifica se tem a quebra de linha
if(strcmp(vetor, "\n") == 0){
break;
}
//Aqui eu insiro na funcao o vetor
char *s = vetor;
//Recebo a quantia de \t
m = conta('\t', s);
//Passo pra posicao do vetor, o numero de colunas
vetorDeNumeros[k] = m+1;
//Recebo o resultado do bubble sort
colunas = ordenar(vetorDeNumeros);
//faz a colocacao de cada elemento dentro de cada celula, tentei por funcao mas nao deu muito certo
char *ponteiro;
int i,j;
for(i=0;i<k;i++){
for(j=0;j<colunas;j++){
ponteiro = strtok(vetor, "\t");
while (ponteiro != NULL){
strcpy(matris[i][j], ponteiro);
ponteiro = strtok(NULL,"\t");
}
}
}
//Quantia de linas que foram
k++;
}
//printf("%d", colunas);
int w,z;
for(w=0;w<k;w++){
for(z=0;z<colunas;z++){
printf("%s", matris[w][z]);
}
}
return 0;
}
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Será que eu deveria apreender C/C++ para desenvolver para Linux? (4)