Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Harmonster
9 / 9 / 3
Регистрация: 20.05.2012
Сообщений: 101
#1

Выравнивание по правому краю введенного текста - C++

13.12.2013, 11:50. Просмотров 1259. Ответов 2
Метки нет (Все метки)

Может кто подсказать, правильно ли сделал?


Задание
Произвести выравнивание по правому краю введенного текста, для чего к каждой строке применить функцию WIDE(str,k), которая равномерно вставляет пробелы между словами так, чтобы длина строки str стала равной k. (Величина k должна быть больше длины самой длинной строки текста.)


Исходный код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma warning(disable:4996)
#include <iostream>
#include <Windows.h>
#include <string.h>
using namespace std;
 
char* WIDE(char* Str, int Size)
{
    unsigned int i;
    char *outStr = new char[Size + 1];
    memset(outStr, 0, Size);
    for (i = 0; i < (Size - strlen(Str)); i++)
        outStr[i] = ' ';
    strcat(outStr, Str);
    return outStr;
}
 
int main()
{
    
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char sec_string[80];
    int k;
    cout << "Исходная строка: ";
    cin.getline(sec_string, 80);
    cout << "Выравнивание: ";
    cin >> k;
    cout << "Строка: " << sec_string << endl;
    cout << "Результат: " << endl;
    cout << WIDE(sec_string, k) << endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2013, 11:50     Выравнивание по правому краю введенного текста
Посмотрите здесь:

Открыть файл, выровнять текст по правому краю и слева добавить номер строки C++
Дан файл с абзацем, выровненым по левому краю, надо отформатировать по правому краю C++
Отформатировать текст по правому краю C++
C++ Разработать программу, которая разбивает заданный текст на две колонки и форматирует их по правому краю (без переноса).
Произвести выравнивание по правому краю введенного текста C++
Выравнивание строки по левому краю до заданной длины C++
Выравнивание строк в файле по правому краю C++
Выравнивание строки по правому краю до заданной длины C++
Выравнивание строки по правому краю до заданной длины C++
C++ Выравнивание текста по правому краю
C++ Вхождения выравнять по правому краю в поле шириной 10
Выровнять текст по правому краю так, чтобы каждая строка заканчивалась знаком препинания или одним пробелом C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2910 / 1238 / 78
Регистрация: 27.05.2008
Сообщений: 3,321
13.12.2013, 11:56     Выравнивание по правому краю введенного текста #2
Нет. Твоя функция WIDE не вставляет пробелы между словами, как требуется по заданию, а просто добавляет пробелы слева от строки.
Harmonster
9 / 9 / 3
Регистрация: 20.05.2012
Сообщений: 101
13.12.2013, 12:06  [ТС]     Выравнивание по правому краю введенного текста #3
Цитата Сообщение от CheshireCat Посмотреть сообщение
Нет. Твоя функция WIDE не вставляет пробелы между словами, как требуется по заданию, а просто добавляет пробелы слева от строки.
Подскажите, пожалуйста, как тогда сделать?
Yandex
Объявления
13.12.2013, 12:06     Выравнивание по правому краю введенного текста
Ответ Создать тему
Опции темы

Текущее время: 09:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru