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

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

Войти
Регистрация
Восстановить пароль
 
Di3go
Аноним
4 / 4 / 2
Регистрация: 15.12.2013
Сообщений: 148
Завершенные тесты: 2
#1

Заменить табуляцию - C++

01.02.2014, 16:23. Просмотров 299. Ответов 8
Метки нет (Все метки)

Здравствуйте. Вопрос несколько странный. Написал программу. Она выводит таблицу Пифагора. Всё вышло нормально, кроме вида. Не влазит десятка(скриншот прилагается). Чем можно заменить в выводе табуляцию(\t)? Пробелом пробовал - некрасиво. С шрифтами в консоли мутил - тоже нормально не работает.

На всякий случай, мой код:

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
34
35
36
37
38
39
// fork.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int _tmain()
{
    int table = 1;
    int massive[11][11];
    for(int i = 0; i < 11; ++i) // заполняем massive[0][0-10]
    {
        massive[0][i] = i;
    }
    for(int i = 0; i < 11; ++i) // заполняем massive[0-10][0]
    {
        massive[i][0] = i;
    }
    for(int i = 1; i < 11; ++i) // собственно сам процесс "множения"
    {
        for(int _i = 1; _i < 11; ++_i)
        {
            massive[i][_i] = i*_i;
        }
 
    }
    //TEST zone// вывод
    for(int i = 0; i < 11; ++i) 
    {
        for(int _i = 0; _i < 11; ++_i)
        {
            cout << massive[i][_i] << "\t"; // этот момент
        }
        cout << endl;
    }
    getch();
   return 0; 
}
0
Миниатюры
Заменить табуляцию  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2014, 16:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заменить табуляцию (C++):

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

Вопрос про табуляцию в C++ - C++
Символ табуляции он одновременно переносит курсор на след.строку и выравнивает строки?

Печать таблицы, используя табуляцию - C++
Написать программу, использующую цикл и управляющую последовательность табуляции \t для печати таблицы следующих значений: N 10+N ...

замена символа пробел на табуляцию - C++
Напишите функцию char* ReplaceSpacesOnTabs(char* string), заменяющую пробельные символы на символы табуляции в случае, если такую замену...

Как произвести табуляцию функции? - C++
Протабулируйте функции. отрезок и шаг вводится с клавиатуры: arctg(1/x) - x2

Сымитировать табуляцию при выводе текста - C++
Кто может написать код к этому условию: При выводе текстов на экран или печатающее устройство часто используются табуляционные остановки...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 465
Записей в блоге: 1
01.02.2014, 16:34 #2
Во вкладке "Расположение" в свойствах консоли изменить разрешение на нужное.
0
Di3go
Аноним
4 / 4 / 2
Регистрация: 15.12.2013
Сообщений: 148
Завершенные тесты: 2
01.02.2014, 16:42  [ТС] #3
RaiaNKnight, Хорошо. А если эту программу запустить на другом компьютере? Разрешение будет как и было. Так что это не вариант
0
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 203
01.02.2014, 16:43 #4
C++
1
2
3
#include <iomanip>  
//...
cout << std::left << std::setfill(' ') << std::setw(4) << massive[i][_i]; // этот момент
0
mms_ua
42 / 42 / 7
Регистрация: 06.09.2010
Сообщений: 94
01.02.2014, 16:43 #5
Заменить 33 строку на cprintf("% 4d",massive[i][_i]);
0
-=ЮрА=-
Заблокирован
Автор FAQ
01.02.2014, 16:57 #6
Di3go, увидев твою реализацию невольно пришёл в шок.
Ответь зачем в задаче в которой следует всего лишь вывести на экран вводить массив да ещё двумерный?
Твоя проблема с отступами решается вводом простого манипулятора setw либо адекватной длинной поля у printf-а.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iomanip>
#include <iostream>
using namespace std;
 
int main()
{
    int i, j;
    for( i = 1; i <= 10; i++ )
    for( j = 1; j <= 10; j++ )
    {
        if( j== 1 )
        cout<<setw(2)<<i<<" | ";
        cout<<setw(2)<<i*j<<" ";
        if( j == 10 )
            cout<<endl;
    }
    cin.get();
    return 0;
}
Проверка http://codepad.org/FGrAGAIL
2
Миниатюры
Заменить табуляцию  
Di3go
Аноним
4 / 4 / 2
Регистрация: 15.12.2013
Сообщений: 148
Завершенные тесты: 2
01.02.2014, 17:03  [ТС] #7
Класс! Мне оба варианта понравились. Спасибо большое.

Добавлено через 4 минуты
-=ЮрА=-,
Задача была "Написать таблицу Пифагора с использованием двумерных массивов". Я то и так знаю, что можно решить и без них вообще. Жаль, что с манипуляторами я еще не знаком. Пойду курить мануал по ним. Спс
0
RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 465
Записей в блоге: 1
01.02.2014, 21:53 #8
Цитата Сообщение от Di3go Посмотреть сообщение
RaiaNKnight, Хорошо. А если эту программу запустить на другом компьютере? Разрешение будет как и было. Так что это не вариант
Не думаю, что эту программу будут запускать больше, чем на 2-х компах
0
Di3go
Аноним
4 / 4 / 2
Регистрация: 15.12.2013
Сообщений: 148
Завершенные тесты: 2
02.02.2014, 00:10  [ТС] #9
Да ну. Всё же бывает
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2014, 00:10
Привет! Вот еще темы с ответами:

Написать вывод из файла 2 способами в С++ табуляцию функции - C++
написать вывод из файла 2 способами в С++ табуляцию функции F(x)=2tg(x-1) на с шагом 0,1..

Строки. Заменить символы - цифры на символ '*'. В заданной строке заменить подряд идущие пробелы - C++
П.5.16.Правил Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема. ...

Если эти числа равны, заменить их на 0, если нет - меньшое заменить большим, а большое оставить без изменения - C++
Дано 2 целых числа, каждое из низ не больше 2*10^9 по модулю. Если эти числа равны, заменить их на 0, если нет - меньшое заменить большим,...

Нужно все буквы B заменить на решётку #, а буквы A заменить на A и B через раз - C++ - C++
Здравствуйте, мне нужно написать функцию но только не знаю как, нужно чтоб она трансформировала строку в такой вид: Входная строка: ...


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

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

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