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

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

Войти
Регистрация
Восстановить пароль
 
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
#1

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

24.12.2010, 01:35. Просмотров 495. Ответов 8
Метки нет (Все метки)

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

Что принимает какие значения? - C++
pNew-&gt;pPrev=pLast pNew-&gt;pNext=NULL pFirst=pFirst-&gt;pNext помогите разобратся пожайлуста, что принимает какие значения, а то я что-то...

как мне понять что принимает моя функция какие значения? - C++
как мне понять что принимает моя функция какие значения?????????????????????? #pragma comment (lib, &quot;BrickWall.lib&quot;) // Материал...

Почему матрица выводится как обычный массив - C++
//matriza.h #pragma once class matriza { float *b,max,s; int n,m,nom; public: matriza(); void ww_matriza();

Переменная в цикле не принимает значение ноль - C++
У меня есть цикл для переменной b, в который вложен цикл для переменной а: for (b = -2; b &lt; 5.01; b += 0.2){ for (a = 0; a &lt;= 5; a...

Какие значения принимает факториал? - C#
int factorial = 1; for (int i = 1; i &lt;= Convert::ToInt32(pole.Text); i++) { ...

В цикле выводится одинаковое значение. Где ошибка? - PascalABC.NET
PrograM VaR22_1_3_2; var x,y,k,pi:real; i,n:integer; begin writeln('Введите x '); readln(x); writeln('Введите n '); ...

8
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
30.03.2013, 13:52 #2
sandye51, вероятно проблема в использовании auto_ptr с массивом.
0
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
30.03.2013, 14:08  [ТС] #3
очнулся)
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
30.03.2013, 14:22 #4
sandye51, смотрю тема без ответа, дай, думаю, отвечу Ну и на дату регистрации можно обратить внимание. Так что скорее не "очнулся", а "родился"
0
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
30.03.2013, 14:49 #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);
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
30.03.2013, 14:55 #6
yuron_477, для наличия ошибки достаточно одной 21й строки.
0
zarko97
278 / 38 / 0
Регистрация: 11.10.2015
Сообщений: 400
06.05.2017, 02:11 #7
Tulosba, т.е это проблема самого std::auto_ptr? а если юзать std::unique_ptr?
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
07.05.2017, 00:26 #8
Цитата Сообщение от zarko97 Посмотреть сообщение
а если юзать std::unique_ptr?
Проверьте
0
zarko97
278 / 38 / 0
Регистрация: 11.10.2015
Сообщений: 400
07.05.2017, 01:22 #9
Tulosba, неа...видимо, не в нем
0
07.05.2017, 01:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2017, 01:22
Привет! Вот еще темы с ответами:

Какие промежуточные значения последовательно принимает переменная S а процессе выполнения программы? - Алгоритмы
Вопрос: Какие промежуточные значения последовательно принимает переменная S а процессе выполнения программы? Приложение: ...

Какие-то странные боты. Чего хотят? - Web-серверы
Уже третий день сайт долбит какой-то ботнет с одним реквестом POST / HTTP/1.1 Мне от этого ни горячо, ни холодно, каждому раздаю по...

Значки word и exel какие то странные - MS Word
Подскажите на рабочем столе значки word и exel отображаются как то не понятно. Что делать?

Какие-то странные отношения между Windows и современными ноутбуками - Выбор ноутбука
Друзья! Пришёл я выбирать ноутбук. Так вот, сколько я по магазинам не ходил, везде была предустановлена Windows 7 или 8, и ни к одному не...


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

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

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