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

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

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

ошибка с передачей через указатели - C++

17.09.2012, 10:37. Просмотров 253. Ответов 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
// dynmas_var15_1semestr.cpp: главный файл проекта.
 
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <clocale>
#include <time.h>
 
using namespace std;
int const M=8;
int const N=6;
 
/*Дана матрица 6х8 целого типа. Создать одномерный массив, содержащий элементы матрицы, кратные числу, введенному с клавиатуры (Fn1). 
Для созданного массива определить минимальный элемент и его индекс (Fn2)*/
 
int data[M][N];
int z=0;
int index=0;
void zabivka(int mas[8][6]);
void indisplay(int mas[8][6]);
void Fn1(int *mas1,int mas[8][6],int q);
int koli4(int mas[8][6],int q);
void Fn2(int *mas2,int s,int *a,int *b);
int main()
 
{ int k;
 
int index=0;
int min;
  setlocale(LC_CTYPE,"rus");
  srand(unsigned((time(NULL))));
  zabivka(data);
  indisplay(data);
  cout<<endl;
  cout<<"Введите число:";
  cin>>k;
  koli4(data,k);
  int *massiv = new int[ z ];
  Fn1(massiv,data,k);
  
  Fn2(massiv,z,&index,&min);
 
 cout<<endl<<"Минимальный элемент:"<<min<<endl;
 
    cout<<"Индекс минимального элемента:"<<index<<endl;
     delete [] massiv;
  system("pause");
  
    return 0;
 
}
 
void zabivka(int mas[8][6])
{int k=0;
    for(int r=0;r<M;r++)
    {
        for(int b=0;b<N;b++)
        {   k++;
            mas[r][b]=rand()%50+1;
            if(k%2==0)mas[r][b]=rand()%47+1;
        }
    }
 
 
}
void indisplay(int mas[8][6])
{
    for(int r=0;r<M;r++)
    {
        cout<<endl;
        for(int b=0;b<N;b++)
        {
            cout<<setw(5)<<mas[r][b];
        }
    }
 
 
}
 
int koli4(int mas[8][6],int q)
{
    for(int r=0;r<M;r++)
    {
        
        for(int b=0;b<N;b++)
        {
            if(mas[r][b]%q==0)
            {
                    z++ ;
                    
            }
        
        }
        
    
    }
    return z;
}
 
void Fn1(int *mas1,int mas[8][6],int q)
{ 
    int i=0;
    for(int r=0;r<M;r++)
    {
 
        for(int b=0;b<N;b++)
        {
            if(mas[r][b]%q==0)
            {
                    
                    mas1[i]=mas[r][b];
                    cout<< mas1[i]<<" ";
                i++;
                
                
            }
        
        }
        
    
    }
    
    
}
void Fn2(int *mas2,int s,int *a,int *b)
{   
 
    b=&mas2[0];
 
 
    
    for(int i=0;i<s;i++)
        {
            
            if(&mas2[i]<b)
                {
                    b=&mas2[i];
            }
 
    }
    for(int i=0;i<s;i++)
        {
            a++;
            if(b==&mas2[i])break;
 
    }
 
 
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2012, 10:37     ошибка с передачей через указатели
Посмотрите здесь:

Стек через указатели — ошибка доступа - C++
Задача такова: реализовать стек, в котором будут такие команды — push (добавить в конец элемент), pop (удалить последний элемент), back...

Работа с динамической памятью через указатели. Загадочная ошибка. - C++
Пишу в Microsoft Visual Studio -&gt;Win32 Console application -&gt;C++. Есть такая задача: Создать массив из N целых чисел, N вводит...

Работа с динамической памятью через указатели. Загадочная ошибка. - C++
Программа запускается и нормально исполняется, но в конце появляется ошибка. Мог бы кто подсказать в чем проблема? Пишу в Microsoft...

программа сделана через указатели, переделать через ссылки. - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; using namespace std; void calculation(double...

Переписать через указатели - C++
помогите написать эту программу с помощью указателей #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace...

Массивы через указатели - C++
Задание 1 В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число A, в противном случае подсчитать сумму чисел,...

массив через указатели - C++
в общем проблемы начинаются с самого начала... нужен массив с Конкретными числами: -6.3, 0.8, 12, -4, 13, 2.5, 7, 8, -9, 10 в...

Работа с массивами через указатели - C++
прошу,помогите! нужно написать следующую программу,используя указатели: ввести целочисленный массив,состоящий из 9 элементов.поменять...

Факториал числа через указатели - C++
#include &lt;iostream&gt; using namespace std; int fact(int*); void main(){ setlocale(LC_ALL,&quot;rus&quot;); cout&lt;&lt;&quot;Введите число для...

Факториал числа через указатели - C++
Найти факториал числа, пользуясь только указателями. Используйте динамические переменные для сохранения исходных данных, промежуточных...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
17.09.2012, 10:53     ошибка с передачей через указатели #2
Цитата Сообщение от un1acker Посмотреть сообщение
C++
129
b=&mas2[0];
C++
1
*b = mas2[0];
для a то же самое
Yandex
Объявления
17.09.2012, 10:53     ошибка с передачей через указатели
Ответ Создать тему
Опции темы

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