C ++ - Создание таблиц сложения - PullRequest
0 голосов
/ 09 сентября 2018

У меня проблемы с этой проблемой из моей лаборатории. Моя цель - создать дополнительную таблицу, которая выглядит примерно так -

(из диапазона (1-5)):

+    1    2    3    4    5
1    2    3    4    5    6   
2    3    4    5    6    7
3    4    5    6    7    8
4    5    6    7    8    9
5    6    7    8    9    10

Моя выглядит так:

+    1    2    3    4    5
     2    3    4    5    6
     3    4    5    6    7
     4    5    6    7    8
     5    6    7    8    9

Мой код выглядит так:

if (choice == ADD) {
    cout << "+";
    for (int i = 0; i < max; i++) {
        cout << "\t";
        for (int j = min; j <= max; j++) {
            cout << i + j << "\t";
        }
    }
}

(Для справки: int max = максимальное число в диапазоне, int min = минимальное число в диапазоне, и выбор - это решение для пользователя сделать таблицу сложения или умножения). Как я могу изменить свой код, чтобы он соответствовал нужному формату? Я не могу понять это. Любые советы / помощь будет принята с благодарностью :)

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Этот код строит таблицу как объяснено:

for (int i = 0; i <= max; i++) {
    if (i == 0)
        cout << '+';
    else
        cout << i;

    cout << '\t';
    for (int j = min; j <= max; j++) {
        cout << i + j << '\t';
    }
    cout << '\n';
}

Совет : если вы хотите напечатать только символ, более эффективно использовать одинарные кавычки, например '+' или '\t'. Двойные кавычки дороже, потому что они представляют const char*.

0 голосов
/ 09 сентября 2018
#include <iostream>

using namespace std;

int main(){
    int max = 5;
    int min = 1;

    if (true){
        cout << "+\t";//print out the initial +
        for(int i = min; i <= max; i++) cout << i << "\t";//print out the entire first row
        cout << "\n"; //start the next row

        //here is the main loop where you do most of the logic
        for(int i = min; i <= max; i++){
            cout << i << "\t"; //this prints out the first column of numbers
            for(int j = min; j <=max; j++){
                cout << j+i << "\t"; //this line fills in the body of your table
            }
            cout << "\n";//creates the space between each row
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...