38 / 38 / 30
Регистрация: 07.04.2014
Сообщений: 219
1

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

24.08.2014, 23:44. Показов 2160. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть такое задание: Заполнить двухмерный вектор таблицей умножения и выввести его в выходной поток

Реализовано хорошо и работает правильно
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
#define _CRT_SECURE_NO_WARNINGS
 
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
 
void main()
{
    vector<vector<string> > v(10);
    char str[80];
 
    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j < 10; j++)
        {
            sprintf(str, "%2d * %2d   = %4d", i, j, i * j);
            v[i].push_back(str);
        }
    }
 
    for (int i = 0; i < 10; i++)
        copy(v[i].begin(), v[i].end(), ostream_iterator<string>(cout, "\n"));
}
Подскажите, пожалуйста, как реализовать без функции sprintf, чтобы также отлично работало ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.08.2014, 23:44
Ответы с готовыми решениями:

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

STL Заполнить двухмерный вектор таблицей умножения и вывести его в выходной поток
Заполнить двухмерный вектор таблицей умножения и вывести его в выходной поток. Добавлено через...

STL Заполнить вектор длинной 10 случайными числами от 0 до 9 и вывести его в выходной поток
Заполнить вектор длинной 10 случайными числами от 0 до 9 и вывести его в выходной поток.

Заполнить вектор длиной 10 квадратами целых чисел и вывести его в выходной поток
Библиотека STL на С++ помогите исправить ошибки задание: Заполнить вектор длинной 10 квадратами...

3
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
25.08.2014, 13:22 2
Spiderman5, Вместо sprintf в цикле:

C++
1
2
3
std::stringstream ss;
ss << std::setw(2) << i << " * " << j << "   = " << std::setw(4) << i * j;
v[i].push_back(ss.str());
Нужно будет подключить iomanip и sstream.

C++
1
2
const std::string temp = (boost::format("%.2d * %.2d   = %.4d") % i % j % (i * j)).str();
v[i].push_back(temp);
Нужно подключить boost/format.hpp.
1
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
25.08.2014, 13:58 3
Spiderman5, а ты уверен, что тебе нужна матрица строк? Ты вообще у своего учителя в школе уточнял задание? Или тупо записываешь на уроке всё, даже если не представляешь, как оно хотя бы примерно делается?

Цитата Сообщение от Spiderman5 Посмотреть сообщение
Заполнить двухмерный вектор таблицей умножения
Тебе не кажется, что имелся в ввиду двумерный массив или вектор с intами?

Добавлено через 20 секунд
Цитата Сообщение от ForEveR Посмотреть сообщение
boost
буст мало кто знает
0
38 / 38 / 30
Регистрация: 07.04.2014
Сообщений: 219
25.08.2014, 14:57  [ТС] 4
Вектор со string вполне подходит для решения - задача реализована и выглядит красиво, препод не придирался.
Мне просто было интересно, как не использовать sprintf.


Помотрел, тут ещё есть на форуме 1 вариант решения этой задачи - там тоже норм.
Тему можно закрывать !
0
25.08.2014, 14:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2014, 14:57
Помогаю со студенческими работами здесь

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

Двухмерный вектор пары чисел(Таблица умножения)
Здравствуйте, значит есть две задачи, первая: Создать двумерный вектор пар двух целых чисел....

STL Заполнить строку латинским алфавитом и вывести ее в выходной поток
Заполнить строку латинским алфавитом и вывести ее в выходной поток. С++ Добавлено через 20 минут...

Создайте двумерный массив A[n][m], заполните его таблицей умножения
Даны два числа n и m. Создайте двумерный массив A, заполните его таблицей умножения A=i*j и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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