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

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

Войти
Регистрация
Восстановить пароль
 
Дантe
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 28
#1

После выхода из функции, чтобы матрица не изменялась - C++

11.10.2013, 13:55. Просмотров 219. Ответов 1
Метки нет (Все метки)

Как сделать так, чтобы передать матрицу в функцию, в функции матрицу изменить (поменять элементы матрицы симметрично относительно побочной диагонали) вывести её на экран, но чтобы после окончания функции массив был прежним. Массив - локальная переменная.
Написал код - массив изменяет правильно, но после завершения функции, в главную программу отдает измененный массив.

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
void sim(int *, int);
.
.
.
sim(*mas, S);
.
.
.
void sim(int *massiv, int N)
{
 int i,j,x,tmp,y,z;
     y=N-1;                            
     for (i=0,N--; j>0; i++,N--)          
     {
         for (j=0; j<N; j++) 
         {
             x=y-j;
             tmp = *(massiv+i*SIZE+j);
             *(massiv+i*SIZE+j) = *(massiv+x*SIZE+N);    
             *(massiv+x*SIZE+N) = tmp;
         }
     }
                printf("\nParveidotaa matrica (raditaaji):\n");
                for (i=0,y++; i<y; i++)                        
                {
                    for (j=0; j<y; j++)                   
                    {
                        printf("%4d", *(massivs+i*y+j));         
                    }
                    printf("\n");                                      
                }   
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2013, 13:55     После выхода из функции, чтобы матрица не изменялась
Посмотрите здесь:

Почему локальная переменная не уничтожается после выхода из функции - C++
В функции создается строка char *pn = new char;. Мне непонятно почему при выходе из функции эта строка доступна в main()? Почему эта строка...

Предотвращение продолжения работы потока после выхода из функции - C++
https://books.google.ru/books?id=1UXRAAAAQBAJ&amp;pg=PA47&amp;lpg=PA47&amp;dq=%D0%B0%D1%81%D1%81%D0%BE%D1%86%D0%B8%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D...

Как сделать так чтобы при изменении одной переменной изменялась другая? - C++
Как сделать так чтобы при изменении одной переменной изменялась другая?

"Перепрыгивание" компилятора к части кода после выхода из функции - C++
Уважаемые форумчане! Решил обратиться к вам, благо уже не знаю, что делать. Накодил я тут QuickSort текста по алфавиту для лабы. Он...

Будет ли "жив" объект после выхода из функции - C++
Всем привет! Приведу пример кода, чтобы наглядно показать свой вопрос: class MyVecClass { public: MyVecClass ( void ) { x =...

Почему переменная "d" не была удалена из стека после выхода из функции? - C++
Почему переменная &quot;d&quot; не была удалена из стека после выхода из функции? #include&quot;stdafx.h&quot; #include&quot;iostream&quot; using namespace std; ...

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

Ошибка после выхода из программы - C++
Здравствуйте, написал такой код #pragma once #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;Windows.h&gt; using namespace...

указатель не меняется после выхода из ф-ции - C++
void changePionter(char *p) { p=NULL; } int main() { char u='F'; char *p= &amp;u; changePionter(p); // *p=='F'; // a надо...

как передать структуру в функцию, чтобы после выполнения функции он(массив в данном случае) вернулся измененным? - C++
const int size = 256; struct MARKER { char mark; } void processing(MARKER struct_m) { //тут какие-то изменения...

После выхода из цикла for значение зануляется и не возвращается - C++
Здравствуйте. Я учу с С++ недавно, может быть мой вопрос тупой, но нигде больше не нашёл такого.. Писал прогу для вывода степени 2ки, но...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 478
Записей в блоге: 1
11.10.2013, 14:02     После выхода из функции, чтобы матрица не изменялась #2
Ты передаешь указатель на твой исходный массив. В локальной функции скопируй матрицу и работай со скопированной. По-другому никак
Yandex
Объявления
11.10.2013, 14:02     После выхода из функции, чтобы матрица не изменялась
Ответ Создать тему
Опции темы

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