Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
0 / 0 / 0
Регистрация: 20.11.2025
Сообщений: 10

Таблица умножения

20.11.2025, 22:48. Показов 4032. Ответов 36

Студворк — интернет-сервис помощи студентам
Вот мой код. Пожалуйста, оцените его и скажите, что можно улучшить, доработать или исправить(это код таблицы умножения)

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
#include <iostream>
 
int main() {
    // создаём переменные
    bool active = true;
    int num1 = 1 , num2 = 1 , res;
    //цикл до того как "active" будет false
    while (active) {
        // проверка если "num1" меньше 11 то вывести ответ и добавить к 1 к "num2" 
        if (num1 < 11) {
            res = num1 * num2;
            std::cout << num1 << "*" << num2 << "=" << res << std::endl;
            num2 = num2 + 1;
        }
        // если "num2" 11 тогда  добавить 1 к "num1" и устоновить 1 в "num2"
        if (num2 == 11) {
            num2 = 1;
            num1 = num1 + 1;
        // если "num1" равен 11 установить в "active" false
        }
        if (num1 == 11) {
            active = false;
        }
    }
    return(0);
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.11.2025, 22:48
Ответы с готовыми решениями:

Таблица умножения - таблица размера n строк на m столбцов, на пересечении i-ой строки и j-ого столбца стоит число i*j
Таблицей умножения назовем таблицу размера n строк на m столбцов, в которой на пересечении i-ой...

Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения
1.Дано число a. Не используя никаких операций, кроме умножения и присваивания, составить программу,...

Написать функцию умножения двух,заданных с клавиатуры чисел, используя только операцию умножения и рекурсию
Помогите пожалуйста с рекурсией Написать функцию умножения двух,заданных с клавиатуры чисел,...

36
 Аватар для Наталья8
520 / 370 / 66
Регистрация: 09.03.2016
Сообщений: 3,910
22.11.2025, 23:29
Студворк — интернет-сервис помощи студентам
Раз уж здесь такая фигня, а я опять опоздал на раздачу слонов.
Вот такое вот видение проблемы.
Ну не могу я всё бросать и начинать писать.
Как бы есть другие дела.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main()
{
for (int base = 2; base < 7; base +=4)
         {
        int n2 = 2;
        while (n2 < 11) {
            char one_n[10]{}, two_n[10]{}, three_n[10]{}, four_n[10]{};
            int n1 = base;
            sprintf(one_n, "%d%s%d%s%d", n1, " x ", n2, " = ", n1 *n2);
            sprintf(two_n, "%d%s%d%s%d", ++n1, " x ", n2, " = ", n1 *n2);
            sprintf(three_n, "%d%s%d%s%d", ++n1, " x ", n2, " = ", n1 *n2);
            sprintf(four_n, "%d%s%d%s%d", ++n1, " x ", n2, " = ", n1 *n2);
            printf("%-12s %-12s %-12s %-12s\n", one_n, two_n, three_n, four_n);
            ++n2;
        }
        printf("\n");
      }
    getchar();
}
0
 Аватар для Наталья8
520 / 370 / 66
Регистрация: 09.03.2016
Сообщений: 3,910
22.11.2025, 23:32
0
 Аватар для Наталья8
520 / 370 / 66
Регистрация: 09.03.2016
Сообщений: 3,910
22.11.2025, 23:36
XLAT,
Столько букоф как у вас начальник, не получаеться.
По ходу фантазии у меня мало.
Там ещё std__ везде наставить надо. Тогда в натуре плюсы будут.
0
Just Do It!
 Аватар для XLAT
4202 / 2658 / 654
Регистрация: 23.09.2014
Сообщений: 8,965
Записей в блоге: 3
23.11.2025, 12:33
Цитата Сообщение от Наталья8 Посмотреть сообщение
Столько букоф как у вас начальник, не получаеться.
я знаю.
у вашего кода так не получится:
0
 Аватар для Наталья8
520 / 370 / 66
Регистрация: 09.03.2016
Сообщений: 3,910
23.11.2025, 14:08
Да наверное можно что то подобное сделать. Смысла нету.

0
Just Do It!
 Аватар для XLAT
4202 / 2658 / 654
Регистрация: 23.09.2014
Сообщений: 8,965
Записей в блоге: 3
23.11.2025, 14:27
Цитата Сообщение от Наталья8 Посмотреть сообщение
Смысла нету.
вы это сразу увидели или только сейчас заметили?
0
Just Do It!
 Аватар для XLAT
4202 / 2658 / 654
Регистрация: 23.09.2014
Сообщений: 8,965
Записей в блоге: 3
23.11.2025, 16:09
Цитата Сообщение от Наталья8 Посмотреть сообщение
Смысла нету.
смысл есть тока в моём коде - чуть подкрутил и он уже и так умеет:


Наталья8,
а ваш так умеет?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6158 / 2849 / 1042
Регистрация: 01.06.2021
Сообщений: 10,398
23.11.2025, 16:58
XLAT, календарь неправильный. Ты хоть и правильно указал, что 1 января 2025 года это среда, но вывод неверный.
1
Just Do It!
 Аватар для XLAT
4202 / 2658 / 654
Регистрация: 23.09.2014
Сообщений: 8,965
Записей в блоге: 3
23.11.2025, 17:09
Цитата Сообщение от Royal_X Посмотреть сообщение
Ты хоть и правильно указал, что 1 января 2025 года это среда, но вывод неверный.
крутяк!

так как мой код наполнен доверху смыслами, то поиск ошибки на 1 щелчок пальцев:

было:
C++
1
week = TabCalendar::getWeekday (year,0,0);
стало(тут нужно lua-мышление):
C++
1
week = TabCalendar::getWeekday (year,1,1);
0
 Аватар для Наталья8
520 / 370 / 66
Регистрация: 09.03.2016
Сообщений: 3,910
23.11.2025, 17:09




Название: og_og_164557926026792723.jpg
Просмотров: 110

Размер: 12.6 Кб
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6158 / 2849 / 1042
Регистрация: 01.06.2021
Сообщений: 10,398
23.11.2025, 17:10
Цитата Сообщение от XLAT Посмотреть сообщение
мой код
покажь код
0
фрилансер
 Аватар для Алексей1153
6450 / 5650 / 1129
Регистрация: 11.10.2019
Сообщений: 15,039
23.11.2025, 17:14
таблица умножения плавно превращается в таблицу размножения
0
Just Do It!
 Аватар для XLAT
4202 / 2658 / 654
Регистрация: 23.09.2014
Сообщений: 8,965
Записей в блоге: 3
23.11.2025, 17:28
Лучший ответ Сообщение было отмечено Наталья8 как решение

Решение

Цитата Сообщение от Royal_X Посмотреть сообщение
покажь код
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#define l(a) std::cout << #a << " = " << a << '\n';
 
///----------------------------------------------------------------------------|
/// Календарь.
///---------------------------------------------------------------- TabCalendar:
using   CellString  = std::vector<std::string>;
struct  TabCalendar : std::vector<CellString>
{       TabCalendar(int year = 2025) : year(year)
        {   gen();
        }
 
    ///-------------------------------|
    /// Статический вариант.          |
    ///-------------------------------:
    static std::string get(int year = 2025, unsigned f = 3)
    {   TabCalendar tab(year); return tab.format (f);
    }
 
private:
    static constexpr const char* name{"КАЛЕНДАРЬ - {}:\n\n"};
    unsigned  year;
    unsigned  week;
 
    unsigned nextWeek(){ return week = ++week % 7; }
 
    ///-------------------------------|
    /// Форматируемый вывод.          |
    ///-------------------------------:
    std::string format(size_t STEP)
    {
        std::stringstream o; o << std::format(name, year);
 
        for(size_t a = 0, b = STEP; a < size() ; a += STEP, b += STEP)
        {
            o << std::format("  {:9}", ' ');
            for    (size_t j = a; j < b; ++j)
            {   o << std::format("  {:18}  ", namesMonth[j]);
            }   o << "\n\n";
 
            for    (size_t j = 0; j < 7; ++j)
            {
                if(a % STEP == 0)
                {   o << std::format("  {} :", namesWeek2[j]);
                }
 
                for(size_t i = a; i < b && i < size(); ++i)
                {
                    o << std::format("  {:18}  ", (*this)[i][j]);
                }   o << '\n';
            }       o << "\n\n";
        }
        return o.str();
    }
 
    ///-------------------------------|
    /// Генератор строк.              |
    ///-------------------------------:
    void gen()
    {   const unsigned AMOUNTMONTH{12}; reserve(AMOUNTMONTH);
 
        week = TabCalendar::getWeekday (year,1,1);
 
        ///---------------------------|
        /// Для каждого месяца.       |
        ///---------------------------:
        for(size_t m = 0; m < AMOUNTMONTH; ++m)
        {
            emplace_back (CellString()); back().resize(7);
            const unsigned  days2month = getDays2Month(year, m);
            static constexpr const char* fCell{" {:2}"};
 
            for(size_t i = 0; i < week; ++i)
            {   back()[i] += std::format(fCell, ' ');
            }
 
            ///---------------------------|
            /// Для каждого дня.          |
            ///---------------------------:
            for(size_t d = 0; d < days2month; ++d, nextWeek())
            {
                back()[week] += std::format(fCell, d + 1);
            }
        }
    }
 
    static int getWeekday(int year, int month, int day)
    {   std::tm timeinfo = createTm(year, month, day);
        std::mktime(&timeinfo);
        return 0 == timeinfo.tm_wday ? 6 : timeinfo.tm_wday - 1;
    }
 
    static constexpr const char* namesWeek[7]
    {   "Понедельник",
        "Вторник"    ,
        "Среда"      ,
        "Четверг"    ,
        "Пятница"    ,
        "Суббота"    ,
        "Воскресенье"
    };
 
    static constexpr const char* namesWeek2[7]
    {   "Пн", "Вт", "Ср", "Чт", "Пт" , "Сб", "Вс"
    };
 
    static constexpr const char* namesMonth[12]
    {   "ЯНВАРЬ" , "ФЕВРАЛЬ", "МАРТ"    ,
        "АПРЕЛЬ" , "МАЙ"    , "ИЮНЬ"    ,
        "ИЮЛЬ"   , "АВГУСТ" , "СЕНТЯБРЬ",
        "ОКТЯБРЬ", "НОЯБРЬ" , "ДЕКАБРЬ"
    };
 
    static std::tm createTm(int year, int month, int day)
    {   std::tm timeinfo = {};
        timeinfo.tm_year = year  - 1900;
        timeinfo.tm_mon  = month - 1;
        timeinfo.tm_mday = day;
        timeinfo.tm_hour = 12;
        return timeinfo;
    }
 
    static unsigned getDays2Month(unsigned year, unsigned month)
    {
        if (month > 11) return unsigned(-1);
 
        const unsigned daysInMonths[] =
        {   31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
        };
 
        auto isLeapYear = [](unsigned year)->bool
        {   return (year % 4 == 0) && (year % 100 != 0 || year % 400 == 0);
        };
 
        if (month == 1 && isLeapYear(year))
        {   return 29;
        }
        return daysInMonths[month];
    }
 
    ///-------------------------------|
    /// Тест класса.                  |
    ///-------------------------------:
    friend int  main();
    static void test()
    {
        l(TabCalendar::namesWeek[TabCalendar::getWeekday(2025,1,1)])
 
        ///---------------------------|
        /// Показать на экране.       |
        ///---------------------------:
        l(TabCalendar::get(2025, 3))
    }
};
Добавлено через 5 минут
Цитата Сообщение от Алексей1153 Посмотреть сообщение
таблица умножения плавно превращается в таблицу размножения
если таблица умножения не превращается в условный фейсбук, то смысла в ней нет.

например, вот Наталья8 не видит смысла, потому что у него таблица ни во что не превращается...
1
 Аватар для Наталья8
520 / 370 / 66
Регистрация: 09.03.2016
Сообщений: 3,910
23.11.2025, 17:37
Чем выше уровень, и современнее, тем меньше он ваш (код).
Самый высокий уровень, это попросить искуственный интелект.
Вообще не понимаю зачем такая универсальность.
Код это часть некой программы.
Можно я не буду искать с++ 20? Не скажу, что я в особом восторге от такого.
0
Just Do It!
 Аватар для XLAT
4202 / 2658 / 654
Регистрация: 23.09.2014
Сообщений: 8,965
Записей в блоге: 3
23.11.2025, 17:43
Цитата Сообщение от Наталья8 Посмотреть сообщение
Самый высокий уровень, это попросить искуственный интелект.
нет.
высший уровень - это там, где ставят корневые задачи.

Code
1
"90% успеха это корректно поставленная задача!" (Э.Айнштайн)
Тот, кто тебе говорит «копать котлован», сам не копает. ...

вот когда ИИ получит полномочия на постановку задач, то Человечеству наступит полярный песец,
но дураков нет(кругом толпы дураков) - ему такое доверять никто не будет, ну, ... тогда он сам у вас это заберёт))
0
 Аватар для volodin661
6673 / 2266 / 346
Регистрация: 10.12.2013
Сообщений: 7,834
24.11.2025, 14:35
Цитата Сообщение от XLAT Посмотреть сообщение
то Человечеству наступит
а чо человечество с большой буквы ? венцы творения ?
0
Just Do It!
 Аватар для XLAT
4202 / 2658 / 654
Регистрация: 23.09.2014
Сообщений: 8,965
Записей в блоге: 3
24.11.2025, 14:51
Цитата Сообщение от volodin661 Посмотреть сообщение
а чо человечество с большой буквы ? венцы творения ?
офтоп
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.11.2025, 14:51
Помогаю со студенческими работами здесь

Таблица умножения
Здравствуйте программисты! подскажите пожалуйста,как эту программу сдлать одним циклом. Зараннее...

Таблица умножения
У меня такое дело...надо из корней составить таблицу умножения (Работа с матрицей) Например...

Таблица умножения которая ствит оценки
Как сделать чтобы С++ считывал количество ошибок в таблице умножения и ставил оценки?Вот код: ...

таблица умножения от 1 до 100
Здравствуйте у меня возник такой вопрос. Вот я создал маленький программ который создает таблицу...

таблица умножения с++
Задача Разработать программу на языке С ++, предлагающую пользователю ввести целое число N и...


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

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru