
C/C++
Вывести на экран набор чисел в виде таблицы. Между столбиками по два пробела. Столбики должны быть выровнены.
НУЖЕН ПОНЯТНЫЙ КОД( БЕЗ AUTO И Т.Д.)


#include < iostream >
using namespace std;
int main()
{
for (int i = 0; i < 120; i++)
{
if (!(i % 12)) cout << endl;
if (!((i / 12) & 1)) cout << i + 1 << " ";
if ( ((i / 12) & 1)) cout << (11+24*(i/12)) - i + 1 << " ";
if (i < 9) cout << " ";
if (i > 8 && i < 99) cout << " ";
}
}
using namespace std;
int main()
{
for (int i = 0; i < 120; i++)
{
if (!(i % 12)) cout << endl;
if (!((i / 12) & 1)) cout << i + 1 << " ";
if ( ((i / 12) & 1)) cout << (11+24*(i/12)) - i + 1 << " ";
if (i < 9) cout << " ";
if (i > 8 && i < 99) cout << " ";
}
}
#include <iostream>
#include <iomanip>
#include <numeric>
using namespace std;
int main() {
const size_t rows = 10U;
const size_t cols = 12U;
int box[rows][cols];
size_t n = 1U;
for (size_t i = 0U; i < rows; ++i) {
if (i & 1) iota(rbegin(box[i]), rend(box[i]), n);
else iota(begin(box[i]), end(box[i]), n);
n += cols;
}
for (size_t i = 0U; i < rows; ++i) {
for (size_t j = 0U; j < cols; ++j) cout << setw(5U) << box[i][j];
puts("");
}
system("pause > nul");
}
#include <iomanip>
#include <numeric>
using namespace std;
int main() {
const size_t rows = 10U;
const size_t cols = 12U;
int box[rows][cols];
size_t n = 1U;
for (size_t i = 0U; i < rows; ++i) {
if (i & 1) iota(rbegin(box[i]), rend(box[i]), n);
else iota(begin(box[i]), end(box[i]), n);
n += cols;
}
for (size_t i = 0U; i < rows; ++i) {
for (size_t j = 0U; j < cols; ++j) cout << setw(5U) << box[i][j];
puts("");
}
system("pause > nul");
}
Надо просто знать максимальное количество символов в выводимых числах и ширину экрана в символах. Вот как я печатаю рандомный массив длины n целых чисел из диапазона [a;b] (a и b вводятся с консоли, поэтому количество их символов заранее не известно и его необходимо вычислять !) с подгонкой под экран шириной 53 символа и с выравниванием столбиков:
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
int digits(int x)
{
if (x == 0) return 3;
int d = (x < 0) ? 3 : 2, y = abs(x);
while (y) { y /= 10; d++; }
return d;
}
int max(int x, int y) { return (x > y) ? x : y; }
int main()
{
int k, l, m = 0, n, a, b, c, d;
cout << "a b n » ";
cin >> a >> b >> n;
c = max(digits(a), digits(b));
d = 53 / c;
int *array = new int[n];
srand(time(NULL));
for (l = 0; l < n; l++)
{
array[l] = a + rand() % (1 + b - a);
cout << setw(c) << array[l];
m++;
if (m == d)
{
cout << endl;
m = 0;
}
}
if (m) cout << endl;
}
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
int digits(int x)
{
if (x == 0) return 3;
int d = (x < 0) ? 3 : 2, y = abs(x);
while (y) { y /= 10; d++; }
return d;
}
int max(int x, int y) { return (x > y) ? x : y; }
int main()
{
int k, l, m = 0, n, a, b, c, d;
cout << "a b n » ";
cin >> a >> b >> n;
c = max(digits(a), digits(b));
d = 53 / c;
int *array = new int[n];
srand(time(NULL));
for (l = 0; l < n; l++)
{
array[l] = a + rand() % (1 + b - a);
cout << setw(c) << array[l];
m++;
if (m == d)
{
cout << endl;
m = 0;
}
}
if (m) cout << endl;
}
Похожие вопросы
- Из двух чисел с разной четностью вывести на экран нечетное число.
- C++ Вычислить и вывести на экран в виде таблицы
- С++ Максимум трёх чисел Даны три целых числа. Найдите наибольшее из них (программа должна вывести ровно одно целое число
- Вывести на экран n первых простых чисел, начиная с единицы. n вводится с клавиатуры.
- Как записать из набора чисел первое четное и минимальное кратное 3
- Помогите в C/C++. Пример в столбик
- C++ Выведите в порядке возрастания все простые числа на отрезке [l;r]. Оформите решение в виде функции bool
- Написать кусочек С++Выведите в порядке возрастания все простые числа на отрезке [l;r]. Оформите решение в виде функции
- Двумерный динамический массив с неизвестны количеством столбиков или строк
- Как сделать проверку на число типо если кто то ввел не число то будет чтото выводить на экран c++