Мне нужно создать таблицу умножения с числом от 1 до 20, я только что сделал это, используя 2 вложенных для цикла. У меня проблемы с форматированием таблицы - вывод в консоли должен выглядеть точно так же, как ваша средняя таблица умножения в учебнике, горизонтальный и вертикальный ряд чисел, и когда вы находите пересечение между горизонтальным и вертикальным числа вы найдете свое умножение. Я сделал горизонтальную строку, используя проверку «первого прохода», как вы можете видеть в приведенном ниже коде:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int br;
int firstpass = 1;
cin >> br;
if (br > 1 && br < 21)
{
if (firstpass = 1)
{
for (int h = 0; h <= br; h++)
cout << setw(5) << h << " ";
cout << endl;
firstpass = 0;
}
for (int a = 1; a <= br; a++)
{
for (int b = 1; b <= br; b++)
cout << setw(5) << a * b << " ";
cout << endl;
}
}
return 0;
}
, но проблема с кодом выше в том, что он не создает вертикальный столбец ( перед каждым выводом во вложенном l oop должно быть число а), поэтому я добавил проверку «второго прохода». Цель состояла в том, чтобы проверить, является ли это начало новой строки через «secondpass», если это так, вывести текущее значение «a», затем l ie бездействующий, пока l oop не закончится и второй проход не будет сброшен, но вместо этого просто добавив значение «a» в начале строки, а затем выведя остальную часть строки, как в первом примере, это показывает чистый гиббери sh, который я не могу распутать.
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int br;
int firstpass = 1;
int secondpass = 1;
cin >> br;
if (br > 1 && br < 21)
{
if (firstpass = 1)
{
for (int h = 0; h <= br; h++)
cout << setw(5) << h;
cout << endl;
firstpass = 0;
}
for (int a = 1; a <= br; a++)
{
for (int b = 1; b <= br; b++)
{
if (secondpass = 1)
{
cout << setw(5) << a;
secondpass = 0;
}
cout << setw(5) << a << a * b;
}
secondpass = 1;
cout << endl;
}
}
return 0;
}
Что я делаю не так? Я уверен, что эта лихорадка, под которой я нахожусь, не совсем помогает, но сейчас я чувствую себя очень глупо. Заранее спасибо!