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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
nonamez123
185 / 181 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
#1

Передача массива в функцию - C++

28.09.2011, 23:17. Просмотров 1139. Ответов 22
Метки нет (Все метки)

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
#include <iostream>
#include <fstream>
#include <time.h>
using namespace std;
 
void maxx();
 
int main(int argc, char *argv[])
{
    
    
    int a[5];
    srand(time(NULL));
    for (int i=0; i<5; i++) {
        a[i]=rand()% 100+1;
        cout << a[i]<<endl;
    }
    maxx(a);
    system("PAUSE");
    return 0;
}
void maxx(a){
    int max;
    for (int i=0; i<5; i++) {
        if (a[i]>max) {
            max=a[i];
        }
    }
}
чот с передачей никак(((
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2011, 23:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача массива в функцию (C++):

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

Передача двухмерного массива из функцию в функцию - C++
Допустим у меня есть функция, в которой &quot;генерируется&quot; массив. Но нужно его передать в другую функцию, которая его выведет на экран. ...

Передача массива структур в функцию не указывая размера массива - C++
Я читаю с командной строки файл в котором содержится массив структур. Есть библиотека с функцией в которую я прередаю файл и массив...

Передача массива в функцию - C++
... int UnichtojenieFiguryMas( int *EnemyLocationXvalue, int z/* размер обоих массивов */, int *EnemyLocationYvalue, int Ocherednost ); ...

Передача массива в функцию - C++
Ребят, подскажите как передать массив в функцию по значению (или альтернативный вариант)? Чтобы изменялась его копия находящаяся в стеке....

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alkagolik
Заблокирован
29.09.2011, 00:23 #16
Цитата Сообщение от nonamez123 Посмотреть сообщение
вот так вот по идее должно быть... Я прав?
вообще нет, это уже принципиально другой подход. фактически в данном случае размер массива не изменяется, т.е. при перезаписи элементов последний элемент как был, так и останется, а остальные сдвинутся влево на 1 положение. в Си так сделать возможно, а в с++ наверное только классом.
код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
....
    std::cout << "\n\n" << maxx(a) << std::endl;
    deletee(a);
 
    for (int i = 0; i < size; ++i)
        std::cout << a[i] << " ";
....
void deletee(int *a){
    int del;
    std::cin >> del;
    for (int i = del; i < size; ++i)
        a[i - 1] = a[i];
}


вывод

39 67 100 56 33 50 61 6 87 20

100
4
39 67 100 33 50 61 6 87 20 20
0
nonamez123
185 / 181 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
29.09.2011, 00:34  [ТС] #17
ну вот у меня вот так вот выводит всё норм

http://gyazo.com/00b5adec64ba24ac6028ce77fb48fb73

Просто думаю может какие логические там ошибки, но оно же работает)))
0
alkagolik
Заблокирован
29.09.2011, 00:42 #18
Цитата Сообщение от nonamez123 Посмотреть сообщение
но оно же работает)))
покажите код. я ваш код правил. там была угроза выхода за пределы массива.
0
nonamez123
185 / 181 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
29.09.2011, 00:59  [ТС] #19
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
#include <iostream>
#include <fstream>
#include <time.h>
using namespace std;
 
const int size=7;
 
int maxx( int * );
int minn( int * );
int deletee( int *);
int main(int argc, char *argv[])
{
    
    
    int a[size];
    srand(time(NULL));
    for (int i=0; i<size; i++) {
        a[i]=rand()% 100+1;
        cout << a[i]<<" ";
    }
    
    int in;
    
    cout << "Ka darit?\n";
    cin >> in;
    switch (in) {
        case 1:
            maxx(a);
            break;
        case 2:
            minn(a);
            break;
        case 3:
            deletee(a);
            break;
        default:
            break;
    }
    system("PAUSE");
    return 0;
}
 
int maxx(int *a){
    int max;
        for (int i=0; i<size; i++) {
            if (a[i]>max) {
            max=a[i];
        }
        }
    cout << max;
    return 0;
}
 
int minn(int *a){
    int min;
    for (int i=0; i<size; i++) {
        if (a[i]<min) {
            min=a[i];
        }
    }
    cout << min;
    return 0;
 
}
 
int deletee(int *a){
    int del;
    cin >> del;
    for (int i=del-1; i<size-1; i++) {
        a[i]=a[i+1];
    }
    for (int i=0; i<size-1; i++) {
        cout << a[i]<<" " ;
    }
    return 0;
}
0
alkagolik
Заблокирован
29.09.2011, 01:13 #20
nonamez123, строки 72, 73. последний элемент массива просто не печатается... но существует
0
nonamez123
185 / 181 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
29.09.2011, 01:20  [ТС] #21
да, эт я спицально-чисто косметически. А может подскажете каких-нить ссылок почитать вот про этот знак *, а то чот у меня в голове так и не укладывается, как им пользоваться
0
alkagolik
Заблокирован
29.09.2011, 01:52 #22
Цитата Сообщение от nonamez123 Посмотреть сообщение
каких-нить ссылок почитать вот про этот знак *
это указатель (pointer). смотрите FAQ.
1
nonamez123
185 / 181 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
29.09.2011, 02:04  [ТС] #23
пасиб, почитаю ещё про них завтрева уже
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2011, 02:04
Привет! Вот еще темы с ответами:

Передача массива в функцию - C++
Помогите разобраться как правильно вписать простейший массив вфункцию #include&lt;iostream&gt; #include&lt;windows.h&gt; #include&lt;ctime&gt; using...

Передача массива в функцию - C++
В общем задание такое Превратить этот код в другой код, что-то поменять, я не врубаюсь что и как. Тема называется передача массива в...

Передача массива в функцию - C++
Я только-только начал изучать указатели, поэтому в этой области туплю... У меня в функции main создается массив указателей на обьекты...

Передача массива в функцию - C++
Доброе время суток! Товарищи профессионалы! Помогите, очень прошу! как передать в функцию массив a int frik (int aa) {return (1);}...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.09.2011, 02:04
Ответ Создать тему
Опции темы

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