как разделить слова в строке по пробелам и вывести их в столбик

я сначала подумала копировать каждое слово в новый массив до пробела, но вопрос как ввести второе слово тогда

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

int main()
{
    int n;
    char array[n];
    printf("\n please write text: \n");
    gets(array[n]);


    return 0;
}

Ответы (1 шт):

Автор решения: baka314
#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main() {
    int n,m;
    printf("\nwrite number of rows: ");
    scanf("%i", &m);
    printf("\nwrite number of columns: ");
    scanf("%i", &n);
    int i, j, k, l, t,z;
    int a[m][n];
    z=m*n;
    printf("\nwrite %i elements of matrix: ", z);
    for (i = 0; i < m; i++)
        for (j = 0; j < n; j++)
            scanf("%i", &a[i][j]);
        printf("Your matrix:\n");
    for (i = 0; i < m; i++){
        for (j = 0; j < n; j++){
            printf("%4i", a[i][j]);
             }printf("\n");}
         int temp = 0;

    for (j=0;j<n;++j) {

        for (i=0;i<m;++i) {
                if(j%2==1){

            for (k=i+1;k<m;++k) {

                if (a[i][j] < a[k][j]) {

                    temp = a[i][j];

                    a[i][j] = a[k][j];

                    a[k][j] = temp;

                }}  }
        }
    }
     printf("new matrix:\n");
    for (i = 0; i < m; i++){
        for (j = 0; j < n; j++){
            printf("%4i", a[i][j]);
             }printf("\n");}

            k=1;
            l=n;

    for (j = 0; j < n; j++) {
        t = a[j][k-1];
        a[j][k-1] = a[j][l-1];
        a[j][l-1] = t;
    }
    printf(" Super New matrix:\n");
    for (i = 0; i < m; i++) {
        for (j = 0; j < n; j++) printf("%4d", a[i][j]);
        printf("\n");
    }

    return 0;
}
→ Ссылка