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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 118, средняя оценка - 4.84
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
#1

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

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

Здравствуйте программисты! подскажите пожалуйста,как эту программу сдлать одним циклом. Зараннее благодарю.
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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2009, 17:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Таблица умножения (C++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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;
0
mirso
525 / 343 / 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; - манипулятор потока (перевод строки)
0
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
27.07.2009, 00:06  [ТС] #18
Скажите, а остаток от деления зачем используется, ведь нужно вывести табл. умнож.?
Дайте пожалуйста, также пояснение, какой смысл вот этого(что на что умнож)
C++
1
(i/size + 1)*(i%size + 1)
0
mirso
525 / 343 / 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(опять)
...
1
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
27.07.2009, 00:20  [ТС] #20
Напишите пожалуйста, числами, как с 1..3 итерацией будет считаться, так лучше понять.
0
mirso
525 / 343 / 17
Регистрация: 05.04.2009
Сообщений: 709
27.07.2009, 00:28 #21
Вот это запусти ->
C++
1
2
for(int i = 0; i < x*x; i++)
cout << "[" << setw(2) <<(i/x + 1) << "][" << setw(2) << (i%x + 1) << "]" << endl;
Цитата Сообщение от Golovastik Посмотреть сообщение
Напишите пожалуйста, числами
Писать нихачю!
0
mamedovvms
2917 / 838 / 93
Регистрация: 30.04.2009
Сообщений: 2,627
27.07.2009, 06:48 #22
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
 
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
setlocale(0,"");
const int size = 12;
int i = 0, k = 1, j = 1;
 
for(i = 1; i <=size*size; i++) //В столбик 12 чисел
{         
        cout<< setw(4) <<k*j<<" ";     
        if (k==size && i<size*size)
         {        
           j++;
           i++;
           k = 1;
           cout << endl;
           cout << setw(4)<<j <<"|";         
         }
         k++;
 
}
 
cin.ignore();
cin.get();
return 0;
}
1
Ivaneo
2 / 2 / 0
Регистрация: 01.08.2009
Сообщений: 16
01.08.2009, 10:09 #23
Вот такой вариант с одним циклом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <iomanip>
using namespace std;
#define SIZE 12
int main()
{
    unsigned int i=1, j=0;
    while(i<=SIZE)
    {
        if (j==SIZE) 
        {
            j=1;
            i++;
        }
        else j++;
        if (i<SIZE+1)
        {
            if (j==1) cout << endl << setw(7) << i << "   |";
            cout << setw(3) << i*j << " "; 
        }
    }
    return 0;
}
0
firefox1913
27 / 27 / 2
Регистрация: 01.07.2009
Сообщений: 58
01.08.2009, 17:24 #24
Это простенький вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
void table(int i)
{
  if(i <= 9)
  {
   for(int j=1; j<=9; j++)
    cout<< i*j <<" ";
    cout<<endl;
    i++;
    table(i);
  }
  else return;
}
int main()
{
  int k=1;
  table(k);
  return 0;
}
0
mirso
525 / 343 / 17
Регистрация: 05.04.2009
Сообщений: 709
01.08.2009, 17:46 #25
firefox1913,
если заменить
Цитата Сообщение от firefox1913 Посмотреть сообщение
cout<< i*j <<" ";
на это
C++
1
cout<<setw(3)<< i*j;
по-трезвей выглядит!
0
Ден5
0 / 0 / 0
Регистрация: 20.08.2011
Сообщений: 3
20.08.2011, 12:01 #26
#include<stdio.h>
#include<iostream.h>
int main(int Arg,char* pszArgs[])
{


int a;
cout<<"Vvedite nomer:";
cin>>a;
for(int b=1;b<10;b++)
{
int otv=a*b;
int prim;
cout<<a<<"*"<<b<<"=";
cin>>prim;
if(prim!=otv)
{
cout<<"ERROR\n";
}
}

cout<<"THE END!\n";
system("pause");
}
0
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
20.08.2011, 18:13 #27
Ден5, и че?.. Зачем тему 2х летней давности дергать?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2011, 18:13
Привет! Вот еще темы с ответами:

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

Таблица умножения - C++
Доброго времени суток, прошу помочь с данной программой. Напечатать полную таблицу умножения в виде: 1 х 1 = 1 2 х 1 = 2 ........

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.08.2011, 18:13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru