С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Spiderman5
31 / 31 / 14
Регистрация: 07.04.2014
Сообщений: 219
#1

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

24.08.2014, 23:44. Просмотров 506. Ответов 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
#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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2014, 23:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заполнить двухмерный вектор таблицей умножения и выввести его в выходной поток (C++):

Заполнить двухмерный вектор таблицей умножения и вывести его в выходной поток - C++
Заполнить двухмерный вектор таблицей умножения и вывести его в выходной поток. То, что я написал: #include &lt;vector&gt; #include...

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

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

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

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

Даны два числа n и m. Создайте двумерный массив A[n][m], заполните его таблицей умножения A[i][j]=i*j - C++
Помогите пожалуйста с решением этой задачи Такая тема уже была,но там решали не по условию(использовали вложенные циклы) ...

3
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
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
Kuzia domovenok
2060 / 1905 / 174
Регистрация: 25.03.2012
Сообщений: 6,567
Записей в блоге: 1
25.08.2014, 13:58 #3
Spiderman5, а ты уверен, что тебе нужна матрица строк? Ты вообще у своего учителя в школе уточнял задание? Или тупо записываешь на уроке всё, даже если не представляешь, как оно хотя бы примерно делается?

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

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


Помотрел, тут ещё есть на форуме 1 вариант решения этой задачи - там тоже норм.
Тему можно закрывать !
0
25.08.2014, 14:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2014, 14:57
Привет! Вот еще темы с ответами:

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

Передать в поток двухмерный массив - C++
Здравствуйте! хочу передать в поток указатель на двухмерный массив, чтобы в потоке внести в него данные а выводить из основной...

Все слова из входного потока поместить в выходной поток с новой строки - C++
Здравствуйте уважаемые программисты помогите пожалуйста текст задачи: все слова из входного потока, помещать в выходной поток с новой...

Двухмерный вектор строк - C++
Столкнулся с проблемой и нужна помощь. Как создать и заполнить двухмерный вектор? vector &lt; vector &lt;string&gt; &gt; v; C int работает:...


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

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

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