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

В цикле где выводится матрица j принимает какие-то странные значения. Почему? - C++

Восстановить пароль Регистрация
 
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
24.12.2010, 01:35     В цикле где выводится матрица j принимает какие-то странные значения. Почему? #1
воде все верно, по в цикле где выводится матрица j принимает какие-то странные значения. Почему?
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
40
41
42
43
44
45
#include <iostream>
#include <algorithm>
#include <conio.h>
#include <vector>
#include <stdio.h>
#include <numeric>
#include <time.h>
#include <memory>
 
using namespace std;
 
#define n 3
#define BASE 100
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    srand((unsigned)time(NULL));
 
    auto_ptr<vector<int>> matrix1(new vector<int>[n]), matrix2(new vector<int>[n]);
    // формирование матриц;
    for (size_t i = 0; i < n ; ++i)
        for (size_t j = 0; j < n; ++j)
            (*matrix1.get()).push_back(rand() % (2 * BASE) - BASE), (*matrix2.get()).push_back(rand() % (2 * BASE) - BASE);
    // Вывод матриц на экран;
    cout << "Первая матрица A " << endl;
    for (size_t i = 0; i < n ; ++i)
    {
        for (vector<int>::iterator j = matrix1.get()[i].begin(); j != matrix1.get()[i].end(); ++j)
            cout << *j << "  ";
        cout << endl;
    }
    cout << "Вторая матрица B " << endl;
    for (size_t i = 0; i < n ; ++i)
    {
        for (vector<int>::iterator j = matrix2.get()[i].begin(); j != matrix2.get()[i].end(); ++j)
            cout << *j << "  ";
        cout << endl;
    }
 
 
    _getch();
    return EXIT_SUCCESS;
}
Добавлено через 10 часов 39 минут
никто не знает что ль?

Добавлено через 13 часов 19 минут
up...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2010, 01:35     В цикле где выводится матрица j принимает какие-то странные значения. Почему?
Посмотрите здесь:

Матрица выводится некорректно C++
C++ как мне понять что принимает моя функция какие значения?
Странные значения в созданном массиве C++
Почему матрица выводится как обычный массив C++
Матрица выводится в строку C++
Что принимает какие значения? C++
Не выводится матрица C++
Класс дроби. Странные значения C++
Почему конструктор не принимает ссылку на строку? C++
C++ Почему класс не принимает значение string?
C++ Переменная в цикле не принимает значение ноль
Объяснить почему переменная принимает данное значение C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.03.2013, 13:52     В цикле где выводится матрица j принимает какие-то странные значения. Почему? #2
sandye51, вероятно проблема в использовании auto_ptr с массивом.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
30.03.2013, 14:08  [ТС]     В цикле где выводится матрица j принимает какие-то странные значения. Почему? #3
очнулся)
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.03.2013, 14:22     В цикле где выводится матрица j принимает какие-то странные значения. Почему? #4
sandye51, смотрю тема без ответа, дай, думаю, отвечу Ну и на дату регистрации можно обратить внимание. Так что скорее не "очнулся", а "родился"
DiffEreD
 Аватар для DiffEreD
1424 / 761 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
30.03.2013, 14:49     В цикле где выводится матрица j принимает какие-то странные значения. Почему? #5
C++
1
2
3
for (size_t i = 0; i < n ; ++i)
        for (size_t j = 0; j < n; ++j)
            matrix1.get()[i].push_back(rand() % (2 * BASE) - BASE), matrix2.get()[i].push_back(rand() % (2 * BASE) - BASE);
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.03.2013, 14:55     В цикле где выводится матрица j принимает какие-то странные значения. Почему? #6
yuron_477, для наличия ошибки достаточно одной 21й строки.
Yandex
Объявления
30.03.2013, 14:55     В цикле где выводится матрица j принимает какие-то странные значения. Почему?
Ответ Создать тему
Опции темы

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