1

Тема: Робота з рядками C

Добрий вечір, у мене є рядок s1. Мені потрібно після другої коми рядка s1 вставити кількість пробілів яка буде задана з клавіатури і записана в s2. Я визначив під яким індексом знаходиться друга кома. Як можна після неї додати s2, тобто введені пробіли.

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

int main(void)
{
    system("chcp 1251");
    system("cls");
    char s1[]="Не чує, не бачить, як вороги сміються.", s2[10];
    int k=0;
    printf("Текст: ");
    puts(s1);
    printf("Введіть кількість пробілів яку необхідно вставити: ");
    gets(s2);

    for(int i=0; i<strlen(s1); i++)
    {
     if(s1[i]==',')
        k++;
        if(k==2)
        k=i;
    }
    printf("Індекс під яким знаходиться друга кома - %d", k);


    return 0;
}

2

Re: Робота з рядками C

Збільште розмір s1 (взагалі бажано динамічно, однак якщо зробите s1[100], то буде стерпно як для учня), і переносьте символи з кінця стрічки на відповідну відстань.
Якось так:

AAAABBBB
||||┖-----
||||   ||||
VVVV   VVVV
AAAACCCBBBB
    ^^^

Тільки не забудьте, що стрічка закінчується символом \0, його теж треба переносити.
Ну і вводити за умовою слід кількість пробілів (число), а не стрічку з пробілів.

Подякували: SaintMal1

3

Re: Робота з рядками C

що за бабуйня тут відбувається? куди ві зібрались щось там переносити? несповна розуму? чи хочете, щоб вам ос по макітрі надавала? чи релігія не дозволяє відкрити довідник на літері s і подивитись, які є в сі функції для роботи з рядками?

4

Re: Робота з рядками C

Пане ur_naz, ви знову пропускаєте ту деталь, що це новачок, який навіть вирівняти код не вміє. А для використання стандартних стрічкових функцій C, така халепа, реально треба знати, як вони працюють зсередини, тут немає повного маскування структури стрічки, як у мовах високого рівня. І доки новачок кілька разів не поріжеться на гострих кутах, будуть проблеми.

Подякували: tchort, SaintMal2

5

Re: Робота з рядками C

так навіщо вчитися взагалі?  тепер зрозумів, але це ж бабуйня. спочатку треба пояснити що таке рядки, з чим їх їдять, і лише потому давати завдання.