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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
neon902
1 / 1 / 0
Регистрация: 01.07.2010
Сообщений: 62
#1

Разработать программу, которая разбивает заданный текст на две колонки и форматирует их по правому краю (без переноса). - C++

04.07.2010, 18:17. Просмотров 1186. Ответов 3
Метки нет (Все метки)

Разработать программу, которая разбивает заданный текст на две колонки и форматирует их по правому краю (без переноса). Ширина колонки задается произвольно.
Помогите плиз, очень нужно, но не понимаю как это делать!! Желательно на си.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2010, 18:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разработать программу, которая разбивает заданный текст на две колонки и форматирует их по правому краю (без переноса). (C++):

Отформатировать текст по правому краю - C++
Помогите с программой, не понимаю как это сделать: Разработать программу, которая разбивает заданный текст на две колонки и...

Составьте программу без использования строковых переменных, которая разбивает число n на цифры и печатает их в - C++
Приписать по единице в начало и конец записи числа n.

Открыть файл, выровнять текст по правому краю и слева добавить номер строки - C++
Создать текстовый файл и сохранить в нём текст 10..20 строк. По нескольку слов в строке. составить программу: Открывается файл,...

Дан файл с абзацем, выровненым по левому краю, надо отформатировать по правому краю - C++
есть задание дан файл с абзацем выровненым по левому краю , надо отформатировать по правому краю!!

Выровнять текст по правому краю так, чтобы каждая строка заканчивалась знаком препинания или одним пробелом - C++
Всем привет, помогите кто-нибудь составить программу. (C-free) Задание: Текст, сформированный построчно, выровнять правому краю...

Выровнять текст по правому краю - Turbo Pascal
Выровнять текст по правому краю, добавив в начало каждой непустой строки нужное количество пробелов. Помогите сделать ее же, только ввод...

3
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
04.07.2010, 18:29 #2
как в ворде что ли?
0
neon902
1 / 1 / 0
Регистрация: 01.07.2010
Сообщений: 62
05.07.2010, 16:28  [ТС] #3
ну да, у меня есть образец, он делит на 2 столбца и выравнивает по левому краю, а мне нужно по правому, но там он слова рвёт просто и переносит на др строку

Добавлено через 32 секунды
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
33
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void main(void)
{
FILE *f;
unsigned int h, ISHLEN, i1, i2, l, j, n;
unsigned char *txt;
ISHLEN=70, h=28;
f=fopen("D:\\TEXTFILE.txt","r");
fseek(f,0,SEEK_END);
l=ftell(f);
n=(l+1)/(h*2);
i1=0, i2=n*h;
txt=(char *)malloc(2*h*(n+1));
memset(txt,32,2*h*(n+1));
fseek(f,0,SEEK_SET);
fread(txt,1,l,f);
for(j=0;j<l;j++)
txt[j]=(txt[j]=='\n')?32:txt[j];
fclose(f);
f=fopen("D:\\NEW.txt","w");
while(i2<l)
{
if(i1<n*h)
fwrite(&txt[i1],l,h,f),i1+=h;
else for(f=0;j<h;j++)fputc(' ',f);
for(j=0;j<(ISHLEN-2*h);j++) fputc(' ',f);
fwrite(&txt[i2],l,h,f),i2+=h,fputc('\n',f);
}
fclose(f);
free(txt);
}
Добавлено через 21 час 50 минут
что не у кого даже мыслей нет? кто хоть что-то знает по этой теме, напишите, я вообще не врубаюсь
0
Black Fregat
1382 / 1013 / 224
Регистрация: 31.05.2009
Сообщений: 4,248
05.07.2010, 17:41 #4
Если нужен готовый код, то тут не тот раздел.

Если достаточно алгоритма, то:
1) Определяем параметры листа: количество колонок, количество символов в колонке по ширине, количество строк на листе
2) Нарезаем текст по словам
3) Упаковываем строки - дополняем текущую строку очередными словами, пока влезают, как только не влезает - переходим к следующей.
4) Для правого выравнивания добавляем к строке нужное число пробелов спереди
5) Из готовых строк лепим сточки с учетом колонок. Например, если 2 колонки по 40 строк,
то выводим 1 + 41, 2 + 42, ... 40 + 80, 81 + 121 и т. д
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2010, 17:41
Привет! Вот еще темы с ответами:

Выровнять текст по правому краю - C#
Дан текстовый файл, содержащий текст, выровненный по левому краю. Выровнять текст по правому краю, добавив в начало каждой непустой строки...

Выровнять текст по правому краю - HTML, CSS
Всем хороших выходных, столкнулся с проблемой выравнивания текста на сайте http://infocar.pro/uslugi/arenda/ как бы все устраивает но цена...

Дан текстовый файл, вывести его на экран в виде текста заданной ширины с запретом переноса слов и выравниванием по правому краю - Pascal ABC
Дан текстовый файл, вывести его на экран в виде текста заданной ширины с запретом переноса слов и выравниванием по правому краю.

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


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
05.07.2010, 17:41
Ответ Создать тему
Опции темы

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