Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 118, средняя оценка - 4.84
Golovastik
 Аватар для Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
25.07.2009, 17:20     Таблица умножения #1
Здравствуйте программисты! подскажите пожалуйста,как эту программу сдлать одним циклом. Зараннее благодарю.
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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2009, 17:20     Таблица умножения
Посмотрите здесь:

Таблица умножения C++
C++ таблица умножения от 1 до 100
таблица умножения с++ C++
Таблица умножения C++
C++ Таблица умножения
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
 Аватар для Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
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");
но это не спортивно.
Monte-Cristo
 Аватар для Monte-Cristo
2805 / 1370 / 30
Регистрация: 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;
}
Golovastik
 Аватар для Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
25.07.2009, 17:41  [ТС]     Таблица умножения #4
Я имею ввиду,чтоб не использовать вложенный цикл фор ,а одним циклом сделать программу.
Monte-Cristo
 Аватар для Monte-Cristo
2805 / 1370 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
25.07.2009, 17:45     Таблица умножения #5
Golovastik, ну вместо for можешь использовать while и do..while. По другому вроде бы никак... по крайней мере очевидного решения нет.
ShadoW
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
Puporev
Модератор
 Аватар для Puporev
50428 / 38359 / 12298
Регистрация: 18.05.2008
Сообщений: 86,872
25.07.2009, 19:10     Таблица умножения #7
Получится такая "таблица умножения".
Миниатюры
Таблица умножения  
ShadoW
7 / 7 / 0
Регистрация: 01.04.2009
Сообщений: 109
25.07.2009, 19:16     Таблица умножения #8
Ну уж извиняйте, компилятора под рукой нет, но тем не менее, если избавиться от нулей, выйдет вполне нормальная таблица..
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
25.07.2009, 19:25     Таблица умножения #9
Цитата Сообщение от ShadoW Посмотреть сообщение
Ну уж извиняйте, компилятора под рукой нет
http://codepad.org/ держи..
Puporev
Модератор
 Аватар для Puporev
50428 / 38359 / 12298
Регистрация: 18.05.2008
Сообщений: 86,872
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;
mirso
523 / 341 / 17
Регистрация: 05.04.2009
Сообщений: 709
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;
}
Logoped
Сообщений: n/a
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;
}
Puporev
Модератор
 Аватар для Puporev
50428 / 38359 / 12298
Регистрация: 18.05.2008
Сообщений: 86,872
25.07.2009, 22:57     Таблица умножения #13
Товарищ врач, читайте что автору надо.
Сообщение от Golovastik
сдлать одним циклом
Golovastik
 Аватар для Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
26.07.2009, 23:22  [ТС]     Таблица умножения #14
Спасибо Мирсо, дайте пожалуйста комент по циклу, благодарю.
mirso
523 / 341 / 17
Регистрация: 05.04.2009
Сообщений: 709
26.07.2009, 23:26     Таблица умножения #15
Golovastik,
Цитата Сообщение от Golovastik Посмотреть сообщение
дайте пожалуйста комент по циклу
Дайте пожалуйста "наводку" - где непонятно?
Golovastik
 Аватар для Golovastik
11 / 11 / 0
Регистрация: 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;
mirso
523 / 341 / 17
Регистрация: 05.04.2009
Сообщений: 709
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; - манипулятор потока (перевод строки)
Golovastik
 Аватар для Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
27.07.2009, 00:06  [ТС]     Таблица умножения #18
Скажите, а остаток от деления зачем используется, ведь нужно вывести табл. умнож.?
Дайте пожалуйста, также пояснение, какой смысл вот этого(что на что умнож)
C++
1
(i/size + 1)*(i%size + 1)
mirso
523 / 341 / 17
Регистрация: 05.04.2009
Сообщений: 709
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(опять)
...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2009, 00:20     Таблица умножения
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Golovastik
 Аватар для Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
27.07.2009, 00:20  [ТС]     Таблица умножения #20
Напишите пожалуйста, числами, как с 1..3 итерацией будет считаться, так лучше понять.
Yandex
Объявления
27.07.2009, 00:20     Таблица умножения
Ответ Создать тему
Опции темы

Текущее время: 15:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru