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

выравнивание текста по запросу - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Решение диф. уравнения для колебаний методом Рунге—Кутты 4го порядка.(С++) http://www.cyberforum.ru/cpp-beginners/thread409454.html
Ребят помогите пожалуйста решить такое на C++ уравнение x''=(-w^2)*x где w-const там замену нужно сделать что то вроде y=x' и y'=x'' и 2 раза через стандартную схему перегнать , но что то не получается , буду очень признателен. Добавлено через 21 час 52 минуты // runge-runge.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream>
C++ Деление строки на подстроки написать программу разбивающую строки на подстроки в зависимости от введенного к (количество подстрок) на языке С, не знаю как сделать, подскажите пожалуйста, вроде элементарная задача... http://www.cyberforum.ru/cpp-beginners/thread409451.html
Координаты осей C++/CLI WinForms
Здравствуйте, уважаемые знатоки. Имеется программа, которая рисует линию по алгоритму Брезенхема, с самой реализацией проблем нет, но есть загвоздка, нужно построить оси, для улучшенного визуально понимание расположения линии. Код, основных функций в классе. private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { int x1 = Int32::Parse(textBoxX1->Text); ...
C++ Количество пятниц 13
Доброго времени суток. Помогите пожалуйста решить задачу. Необходимо определить количество пятниц 13 в период с 1900 года по 2010 год с одним условием: код программы не должен содержать циклов. Заранее спасибо.
C++ Сортировка строк в файле http://www.cyberforum.ru/cpp-beginners/thread409443.html
Доброго времени суток. Помогите пожалуйста решить задачу. Имеется файл, в котором в каждой строке записаны данные в виде "Имя Фамилия количество баллов" (от 0 до 20). Программа должна предлагать записать в файл дополнительные данные и по решению пользователя отсортировать строки по баллам или по фамилии. Каждое действие нужно описать в отдельной функции. Заранее спасибо
C++ Обход деревьев Здравствуйте, мне нужно обойти два дерева и информацию из одного дерева перенести в другое. #include <iostream> #include <conio.h> подробнее

Показать сообщение отдельно
bacekk
2 / 2 / 0
Регистрация: 30.11.2010
Сообщений: 89
18.12.2011, 01:05     выравнивание текста по запросу
Доброго времени суток! Я тут сделал задание, которое заключается в том, что надо разработать программу, выполняющую действия: Выравнивание текста по правой границе. Правая граница определяется как сумма длины максимальной строки и некоторого числа Δ>0. Каждый символ табуляции во входном файле заменяется на n пробелов (1<=n<=8).

код программы:

Код
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main() {
 const int len=255; // Максимально допустимая длина строк
 int delta, n;
 printf("Enter the values of delta and n:\n");
 scanf("%d%d", &delta, &n);
 // Открываем входной файл
 char fn1[len]; // Имя входного файла
 printf("Enter input file name: ");
 scanf("%s", fn1);
 FILE* fin = fopen(fn1, "rt");
 if (!fin) {	
  printf("\nCouldn't open file!\n");
  getch();
  return 1;
 }
 // Определяем максимальную длину строки во входном файле
 char line[len]; // Строка
 int max_len = 0;
 while (fgets(line, len, fin)) { // Пока не закончился файл
  int current_len = strlen(line);
  // Считаем знаки табуляции
  for (int i=0; i<strlen(line); i++)
   if (line[i] == '\t')
    current_len += n-1;
  if (current_len > max_len)
   max_len = current_len;
 }
 // Создаем выходной файл
 char fn2[len]; // Имя выходного файла
 printf("Enter output file name: ");
 scanf("%s", fn2);
 FILE* fout = fopen(fn2, "w+t");
 if (!fout) {
  printf("\nCouldn't create file!\n");
  getch();
  return 2;
 }
 // Записываем отформатированные строки в выходной файл
 rewind(fin);
 while (fgets(line, len, fin)) { // Пока не закончился файл
  // Считаем знаки табуляции
  int current_len = strlen(line);
  for (int i=0; i<strlen(line); i++)
   if (line[i] == '\t')
    current_len += n-1;
  // Записываем пробелы в начале выходной строки
  char line_out[len]; // Строка
  for (i=0; i<max_len+delta-current_len; i++)
   line_out[i] = ' ';
  int k = max_len+delta-current_len;
  for (i=0; i<strlen(line); i++)
   if (line[i] == '\t') {
    for (int j=0; j<n; j++)
     line_out[k+j] = ' ';
    k += n;
   } else
    line_out[k++] = line[i];

  line_out[k] = '\0';
  fputs(line_out, fout);
 }
 fclose(fin); // Закрываем входной файл
 fclose(fout); // Закрываем выходной файл
 getch();
 return 0;
}
Нужно модифицировать эту программу таким образом, чтобы по запросу она могла выравнивать текст либо по правой границе, либо по левой. Подскажите, что нужно добавить...

Добавлено через 15 часов 45 минут
Все еще актуально)

Добавлено через 6 часов 39 минут
ну помогите..)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru