Devo inserire in un vettore una frase le cui parole sono separate da uno o più spazi. Inserire le parole, una per riga, in una matrice char e stamparla.
Ad esempio, se la frase è “mi piace l’estate” la matrice sarà:
mi
piace
l’estate
Aiutooo mi da "ha smesso di funzionare" etc
codice:
#include <stdlib.h>
#include <stdio.h>
int insv(char vet[100],int riemp,int r);
void insm(char vet[100],char mat[100][100],int r,int riemp);
void stampa(char mat[100][100],int r);
int main()
{ char v[100], m [100][100];
int r;
int riemp;
r=insv(v,riemp,r);
insm(v,m,r,riemp);
stampa(m,r);
return (0);
system("pause");
}
int insv(char vet[100],int riemp,int r)
{ printf("inserisci frase ");
scanf("%[^\n]",vet);
while(vet[riemp]=='\n')
{ if(vet[riemp]==' ')
{ r++; }
riemp++; }
return r; }
void insm(char vet[100],char mat[100][100],int r,int riemp)
{
int i,k; k=0;
for(i=0;i<=r;i++)
{
while((vet[k]!=' ')||(vet[k]!='\0'))
{ mat[i] [k]=vet[k];
k++;
}
}
}
void stampa(char mat[100][100],int r){
int i;
for(i=0;i<r;i++)
printf("%s\n", &mat[i][0]);
}