Możemy to zrobić za pomocą cout.width() lub setw(), wpisując jako argument szerokość pola jaki ma zająć wyświetlany typ danych.
#include<iostream>
#include<iomanip>
using namespace std;
int main() {
cout << setw(2) << "N" << setw(7) << "10*N" << setw(8) << "100*N" << setw(9) << "1000*N" << setw(6) << "N^2" << setw(7) << "N^3" << endl;
for (int i = 1; i <= 15; i++)
cout << setw(2) << i << setw(7) << i * 10 << setw(8) << i * 100 << setw(9) << i * 1000 << setw(6) << i*i << setw(7) << i*i*i << endl;
return 0;
}
W moim przykładzie użyłem drugiego rozwiązania, przy którym musimy pamiętać o dołączeniu nagłówka <iomanip>, uzyskując tym samym na wyjściu:
N 10*N 100*N 1000*N N^2 N^3
1 10 100 1000 1 1
2 20 200 2000 4 8
3 30 300 3000 9 27
4 40 400 4000 16 64
5 50 500 5000 25 125
6 60 600 6000 36 216
7 70 700 7000 49 343
8 80 800 8000 64 512
9 90 900 9000 81 729
10 100 1000 10000 100 1000
11 110 1100 11000 121 1331
12 120 1200 12000 144 1728
13 130 1300 13000 169 2197
14 140 1400 14000 196 2744
15 150 1500 15000 225 3375
Więcej o formatowaniu strumienia możesz poczytać tutaj: CPP0X - Obsługa strumienia cout
Edycja: Najprostsze z rozwiązań printf():
#include<stdio.h>
int main() {
for (int i = 1; i <= 15; i++)
printf("%2d %4d %5d %6d %4d %5d\n",i,i*10,i*100,i*1000,i*i,i*i*i);
return 0;
}