Quick actions

cmd+k|ctrl+k

Navigation

Languages

Lab6.2

Snippet info

Language

C

Visibility

public

Author

y.s.tkachenko

Created

2023-05-08T17:40:44.829513Z

Updated

2023-05-08T19:08:48.991024Z

/**
* @file lab6.2.cpp
*@author Ткаченко Є.С., гр. 515і
*@date 05 травня 2023
*@brief Лабораторна робота № 6, варіант 7
*
* Завдання 2. Рядки. Параметри командного рядка
*/

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

int process_name(char* name) {
    char surname[50], first_name[50];
    int len = strlen(name);
    int i, j = 0, k = 0;

    // Копіюємо прізвище в surname
    for (i = 0; i < len; i++) {
        if (name[i] == ' ') {
            break;
        }
        surname[i] = name[i];
    }
    surname[i] = '\0';

    while (name[i] == ' ') {
        i++;
    }

    // Копіюємо ім'я в first_name
    for (j = 0; i < len; i++, j++) {
        if (name[i] == ' ') {
            break;
        }
        first_name[j] = name[i];
    }
    first_name[j] = '\0';

    // Складаємо рядок "прізвище,  ім'я" 
    sprintf(name, "%s %s %s", first_name, ",", surname);

    return 0;
}
int main() {
    char name[50];
    fgets(name, 50, stdin);

    // Видаляємо символ нового рядка з кінця рядка
    int len = strlen(name);
    if (name[len - 1] == '\n') {
        name[len - 1] = '\0';
    }

    process_name(name);
    printf("Результат: %s\n", name);
    return 0;
}
INFO