Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/455: Рейтинг темы: голосов - 455, средняя оценка - 4.75
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
1

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

25.07.2009, 17:20. Показов 94556. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте программисты! подскажите пожалуйста,как эту программу сдлать одним циклом. Зараннее благодарю.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
setlocale(0,"");
const int size = 12;
int i = 0, j = 0;
 
for(i = 1; i <=size; i++) //В столбик 12 чисел
{
    cout<<endl
    <<setw(7)<<i<<"   |";
    for(j = 1; j<=size; j++)      
    cout<<setw(3) <<i*j<<" ";     
}
 
cin.ignore();
cin.get();
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2009, 17:20
Ответы с готовыми решениями:

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

Таблица умножения С++
1) Составить алгоритм вывода таблицы умножения следующего вида: - 1 2 3 4 5 6 7 8 9 10...

Таблица умножения
Привет. Нужно рандомно вывести два числа, имеющие значения от 1 до 9. Эти два числа...

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

26
159 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 636
25.07.2009, 17:33 2
1 циклом нельзя или я не знаю как .
P.s
Можно сделать такую же таблицу одним циклом и использовать такие вот
строчки,
C++
1
 printf("%9 1 2 3 4 5 6 7 8 9 10 11 12 \n");
но это не спортивно.
0
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
25.07.2009, 17:36 3
честно говоря, не понятно что ты имел ввиду под одним циклом?... объясни...
чем тебя не устраивает
это
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
#include <iostream>
using namespace std;
 
int main()
{
    const int size = 9;
 
    cout.width(4);
    cout << "X" << " | ";    
    for (int i=1; i <= size; i++)
    {
        cout.width(4);
        cout << i;
    }
    cout << endl;
 
    for (int i=1; i <= size; i++)
    {
        cout.width(4);
        cout << " - ";
    }
    cout << endl;
 
    for (int i=1; i <=size; i++)
    {
        cout.width(4);
        cout << i << " | ";
        for (int j=1; j <= size; j++)
        {
            cout.width(4);
            cout << i*j;
        }
        cout << endl;
    }
 
    cin.get();
    return 0;
}
0
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
25.07.2009, 17:41  [ТС] 4
Я имею ввиду,чтоб не использовать вложенный цикл фор ,а одним циклом сделать программу.
0
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
25.07.2009, 17:45 5
Golovastik, ну вместо for можешь использовать while и do..while. По другому вроде бы никак... по крайней мере очевидного решения нет.
1
7 / 7 / 0
Регистрация: 01.04.2009
Сообщений: 109
25.07.2009, 19:03 6
....
C++
1
2
3
4
5
6
for(i=1;i<=100;i++)
{
cout<<i/10*i%10<<" ";
if(i%10==0)
cout<<endl;
}
....

Целая часть от деления на 10 * на остаток от деления на 10
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.07.2009, 19:10 7
Получится такая "таблица умножения".
Миниатюры
Таблица умножения  
0
7 / 7 / 0
Регистрация: 01.04.2009
Сообщений: 109
25.07.2009, 19:16 8
Ну уж извиняйте, компилятора под рукой нет, но тем не менее, если избавиться от нулей, выйдет вполне нормальная таблица..
0
Maniac
Эксперт С++
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
25.07.2009, 19:25 9
Цитата Сообщение от ShadoW Посмотреть сообщение
Ну уж извиняйте, компилятора под рукой нет
http://codepad.org/ держи..
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.07.2009, 19:48 10
Как избавиться от нолей. Синтаксис Си плохо знаю, поэтому чтоб не вводить в заблуждение напишу на Паскале.
Pascal
1
2
3
4
5
6
for i:=1 to 100 do
 begin
  if i mod 10=0 then write((i div 10)*10:4)//последний столбец
  else write((i div 10+1)*(i mod 10):4);//остальные столбцы
  if i mod 10=0 then writeln;//переход на новую строку
 end;
0
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
25.07.2009, 20:25 11
Golovastik,
Цитата Сообщение от Golovastik Посмотреть сообщение
сдлать одним циклом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    const int size = 11;
    int i = 0;
 
    for(i = 0; i < size*size; i++)
    {
        cout << setw(4) << (i/size + 1)*(i%size + 1);
 
        if((i + 1)%size == 0) cout << endl;
    }
 
cin.ignore();
cin.get();
return 0;
}
1
Logoped
25.07.2009, 22:23 12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespase std;
 
int main()
{
   int i;
   int j = 1;
 
   for (i=1; i<=10; i++) {
      while(j<=10){
         cout << j << "X" << i <<"="<<i*j <<"\t";
         j++;
      }
      j = 1;
   }
   cin.get();
   return 0;
}
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.07.2009, 22:57 13
Товарищ врач, читайте что автору надо.
Сообщение от Golovastik
сдлать одним циклом
0
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
26.07.2009, 23:22  [ТС] 14
Спасибо Мирсо, дайте пожалуйста комент по циклу, благодарю.
0
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
26.07.2009, 23:26 15
Golovastik,
Цитата Сообщение от Golovastik Посмотреть сообщение
дайте пожалуйста комент по циклу
Дайте пожалуйста "наводку" - где непонятно?
0
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
26.07.2009, 23:29  [ТС] 16
Вначале, вроде идёт подсчёт до 121, а дальше, не могу въехать,что делают эти 2 строки, внутри цикла.

Код
  cout << setw(4) << (i/size + 1)*(i%size + 1);
 
        if((i + 1)%size == 0) cout << endl;
0
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
26.07.2009, 23:55 17
Golovastik,
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
//--------multiTable.cpp--------------------------------------
#include <iostream>
#include <iomanip>
 
using namespace std;
 
void multiTable /* прототип */ (const int);
//============================================================
 
int main(int argc, char *argv[])
{
const int N = 0x10;
 
    multiTable /* таблица умножения 10x10 == 100; */ (N);      
    
system("PAUSE");
return EXIT_SUCCESS;
}
//============================================================
 
void multiTable /* функтция */ (const int x)
{  
    for(int i = 0; i < x*x; i++)
    {       
        cout << setw(4) << hex << (i/x + 1)*(i%x + 1);
 
        if( !((i + 1)%x) ) cout << endl;
    }
}
//-----------------------------------------------------------
//cout - объект "си аут" выводящий данные в поток
//<<   - операция направление в поток
//setw(4) - ширина выводимых значений по-умолчанию прижата вправо
//(i/x + 1) - 1оператор деления "/" работает как в школе(в математике).
// далее оператор сложения.
//(i%x + 1) - 2оператор деления "%" возвращает остаток от деления  
//if( !((i + 1)%x) ) - условный оператор if проверяет на соответствие
// значение выражения в скобках
//endl; - манипулятор потока (перевод строки)
0
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
27.07.2009, 00:06  [ТС] 18
Скажите, а остаток от деления зачем используется, ведь нужно вывести табл. умнож.?
Дайте пожалуйста, также пояснение, какой смысл вот этого(что на что умнож)
C++
1
(i/size + 1)*(i%size + 1)
0
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
27.07.2009, 00:16 19
Цитата Сообщение от Golovastik Посмотреть сообщение
какой смысл
в таблице 10*10 - чисел == 100;
в цикле 100 итераций!
(i/x + 1) - первые 10 итераций будет 1;
(i/x + 1) - вторые 10 итераций будет 2;
.....
//--------------------------------------
(i%x + 1) - в первой итерации будет 1
(i%x + 1) - во второй итерации будет 2
....
(i%x + 1) - в десятой итерации будет 10
(i%x + 1) - в одинадйатой итерации будет 1(опять)
...
1
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
27.07.2009, 00:20  [ТС] 20
Напишите пожалуйста, числами, как с 1..3 итерацией будет считаться, так лучше понять.
0
27.07.2009, 00:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2009, 00:20
Помогаю со студенческими работами здесь

Таблица умножения
Написал программу которая делает такое: 1.Юзер вводит число, таблицу умножения которого нужно...

Таблица умножения
Написать программу проверки знания таблицы умножения. Программа должна вывести 10 примеров и...

таблица умножения
Помогите написать программу, которая поможет ученику начальной школы выучить таблицу умножения....

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

Таблица умножения
Использовать двойной цикл for. В программе вводятся шестнадцатеричные числа m и n, после чего на...

Таблица умножения
Доброго времени суток, прошу помочь с данной программой. Напечатать полную таблицу умножения в...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru