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

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

Войти
Регистрация
Восстановить пароль
 
barselona1994
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 88
#1

Перезапись данных из одной матрицы в другую - C++

07.04.2013, 12:13. Просмотров 353. Ответов 7
Метки нет (Все метки)

написал код для перезаписи данных из одной матрицы в другую, но при запуске вылетает ошибка ..что исправить?
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
// ConsoleApplication7.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{   
    int matrix1[3][5] ;
    for (int i=0; i<3; i++)
        for (int j=0; j<5;  j++)
            matrix1[i][j]=0;
    //for (int i=0; i<3; cout << endl, i++)
        //for (int j=0; j<5; j++)
            //printf (" %3d ", matrix1[i][j]);
 
    int matrix2[4][2] = { {1, 2}, {1, 3}, {2,5}, {3,2} };
    //for (int i=0; i<4; cout << endl, i++)
        //for (int j=0; j<2; j++)
            //printf("%3d ", matrix2[i][j]);
    //printf(" \n");
 
    for (int i = 0; i < 4; ++i) 
        matrix1 [matrix2[i][0]] [matrix2[i][1]] = 1;
 
    for (int i=0; i<3; cout << endl, i++)
        for (int j=0; j<5; j++)
            printf (" %3d ", matrix1[i][j]);
 
    return 0;
}
ошибка в строках 28-29...
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 12:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перезапись данных из одной матрицы в другую (C++):

Умножение одной матрицы на другую - C++
нужно умножить одну матрицу на другую. Подойдет ли такой алгоритм? for (i = 0; i&lt;m; i++) for (j = 0; j&lt;m; j++) { s = 0; ...

Из одной матрицы сформировать другую - C++
Работа с массивами

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

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

Нелинейный алгоритм. Циклы (Вывести таблицу перевода данных из одной единицы измерение в другую) - C++
Доброго вечера, уважаемые форумчане, помогите пожалуйста решить задание. Вывести таблицу перевода данных из одной единицы измерение в...

Перезапись данных в файл - C++
void change() { if (sch==0) { system(&quot;cls&quot;); printf(&quot; ...

7
Croessmah
Пришел
Эксперт CЭксперт С++
13740 / 7820 / 892
Регистрация: 27.09.2012
Сообщений: 19,217
Записей в блоге: 3
Завершенные тесты: 1
07.04.2013, 12:30 #2
Цитата Сообщение от barselona1994 Посмотреть сообщение
C++
1
2
3
4
5
6
int matrix1[3][5];
//...
int matrix2[4][2] = { {1, 2}, {1, 3}, {2,5}, {3,2} };
//...
matrix1 [matrix2[i][0]] [matrix2[i][1]] = 1;
//...
получается
matrix1 [2][5] = 1 и matrix1 [3][2] =1
Индексация в массиве с нуля. Выходим за пределы массива, портим память, программа падает
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
07.04.2013, 12:38 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
barselona1994,

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 "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{   
    int matrix1[3][5] ;
    for (int i=0; i<3; i++)
        for (int j=0; j<5;  j++)
            matrix1[i][j]=0;
    //for (int i=0; i<3; cout << endl, i++)
        //for (int j=0; j<5; j++)
            //printf (" %3d ", matrix1[i][j]);
 
    int matrix2[4][2] = { {1, 2}, {1, 3}, {2,3}, {2,2} };
    //for (int i=0; i<4; cout << endl, i++)
        //for (int j=0; j<2; j++)
            //printf("%3d ", matrix2[i][j]);
    //printf(" \n");
 
    for (int i = 0; i < 4; ++i) 
        matrix1 [matrix2[i][0]] [matrix2[i][1]] = 1;
 
    for (int i=0; i<3; cout << endl, i++)
        for (int j=0; j<5; j++)
            printf (" %3d ", matrix1[i][j]);
 
    return 0;
}
вы выходили за пределе массива. Следите за индексами.
0
barselona1994
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 88
07.04.2013, 12:47  [ТС] #4
Цитата Сообщение от Croessmah Посмотреть сообщение
получается
matrix1 [2][5] = 1 и matrix1 [3][2] =1
Индексация в массиве с нуля. Выходим за пределы массива, портим память, программа падает
а как правильно записать?
0
Croessmah
Пришел
Эксперт CЭксперт С++
13740 / 7820 / 892
Регистрация: 27.09.2012
Сообщений: 19,217
Записей в блоге: 3
Завершенные тесты: 1
07.04.2013, 12:50 #5
Цитата Сообщение от barselona1994 Посмотреть сообщение
а как правильно записать?
Цитата Сообщение от yoghurt92 Посмотреть сообщение
Следите за индексами.
сами же задали заведомо не верные значения
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
07.04.2013, 12:55 #6
barselona1994, перепишите содержимое второй матрицы так, чтобы значения были меньше количества строк и столбцов первой матрицы.
0
barselona1994
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 88
07.04.2013, 13:03  [ТС] #7
Цитата Сообщение от yoghurt92 Посмотреть сообщение
barselona1994, перепишите содержимое второй матрицы так, чтобы значения были меньше количества строк и столбцов первой матрицы.
значения матрицы?
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
07.04.2013, 13:05 #8
barselona1994,

C++
1
 int matrix2[4][2] = { {1, 2}, {1, 3}, {2,2}, {2,3} };
0
07.04.2013, 13:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2013, 13:05
Привет! Вот еще темы с ответами:

можно ли в с++ вызвать переменную из одной функции в другую т.е. мы переменну задали в одной функции а использовали в другой... и как это реализовать? - C++
можно ли в с++ вызвать переменную из одной функции в другую т.е. мы переменну задали в одной функции а использовали в другой... и как это...

Перезапись символьных данных в массиве классов - C++
Есть массив классов и в него нужно записывать название книги, имя автора и цену книги. У каждого автора свой номер от 0-5(мой массив...

Перевод из одной С.С. в другую - C++
Как можно организовать при помощи ОДНОЙ функции, в которую вводится само число и система счисления?

С одной cpp в другую - C++
Господа, вот ниже два куска кода, как сделать так чтобы результат ARB_multitexture_supported приходил во вторую cppшку? В общем как ее туда...


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

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

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