Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выровнять текст на экране на Си 
:(
    Опции темы
ramona
Дата 30.3.2017, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 30.3.2017

Репутация: нет
Всего: нет



Текст записан одной длинной строкой. Выровнять текст на экране по правому краю, так что бы в каждой строке было 60 символов и каждая строка заканчивалась знаком препинания или пробелом. Выравнивание осуществить, вставляя дополнительные пробелы между словами (равномерно по всей строке). Есть такой код, но он удаляет все после первого слова
Код

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

void main() 

    char str[200]; 
    char space[10] = { ' ' }; 
    char smb = { ',' }; 
    char symb = { ' ' }; 
    SetConsoleCP(1251);//включить кодировку Win1251 при вводе с консоли  
    SetConsoleOutputCP(1251);//включить кодировку Win1251 при выводе на консоли  
    printf("Введите текст:\n"); 
    gets_s(str); 
    int i = 0,len,ns=0,ks,j,k; 
    len = strlen(str);//длина строки 
        while (str[i] != '\0') 
        { 
            while (str[i] == ' ')//пока встречается пробел перебираем символы  
                i++; 
            ns = i;//начало слова  
            while ((str[i] != ' ') && (str[i] != '\0'))//пока не встретится пробел или конец строки перебираем символы  
            { 
                i++; 
                ks = i - 1;//конец слова 
            } 
            k = ks + 1; 
            while (len != 60) 
            { 
                strcpy(str + k, space); 
                break; 
            } 
        }    
    printf("Ровный текст:\n"); 
    printf("%d\n", len); 
    puts(str); 
    getchar(); getchar(); 
}  

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0912 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.