Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2010, 22:41   #1
MovsesIV
Пользователь
 
Регистрация: 13.08.2010
Сообщений: 12
По умолчанию Массив как параметр функции

Не могу разобраться как грамотно передать массив в функцию... помогите на примере - выдает компилятор ошибку

main.cpp:3: error: expected primary-expression before "int"
main.cpp:3: error: expected `]' before "int"
main.cpp:3: error: expected `,' or `...' before "int"
main.cpp: In function `int main()':
main.cpp:20: error: expected primary-expression before ']' token
main.cpp:26:5: warning: no newline at end of file

Код:
#include <iostream>
using namespace std;
void vivod (int[int]);
int i, j;
int main()
{
    i=0;
   int a[i], max;
   cout<<"Введите размер массива: ";
   cin>>i;
   cout<<"Введите ограничивающее число: ";
   cin>>max;
   for (j=0; j<i; j++)
   {
       cout<<"Введите элемент массива: ";
       cin>>a[j];
   }
   for (j=0; j<i; j++)
       a[j]=(a[j]>max)? 0:a[j];
   vivod (a[]);
}
   void vivod (int b[])
{
    for (j=0; j<i; j++)
        cout<<b[j];
}

Последний раз редактировалось MovsesIV; 01.12.2010 в 22:54.
MovsesIV вне форума Ответить с цитированием
Старый 01.12.2010, 23:32   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Нужно
Код:
void vivod (int[]);
или
Код:
void vivod (int*);
или
Код:
void vivod (int b[]);
Навскидку все три варианта должны работать, но в компилятор не засовывал, проверьте сами. А по-хорошему все-таки размер массива должен передаваться в функцию в качестве второго аргумента:
Код:
void output(int* b, int size)
{
for (int i = 0; i < size; i++)
 cout << b[i] << " ";
}
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 02.12.2010, 03:07   #3
MovsesIV
Пользователь
 
Регистрация: 13.08.2010
Сообщений: 12
По умолчанию

спасибо))) разобрался
MovsesIV вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поинтер на unicode wide char как аргумент Sfuller Общие вопросы C/C++ 3 30.06.2010 18:51
[РЕШЕНО][C] unsigned int аргумент работает как signed Sfuller Общие вопросы C/C++ 2 30.06.2010 18:17
C++ - массив как параметр функции kefir Помощь студентам 8 12.04.2010 17:48
Как получить из функции массив LOST94 Общие вопросы C/C++ 6 28.03.2010 13:47
как присвоить все три значения вектору В и вывести его как массив столбец при вызове функции Tomoa Microsoft Office Excel 8 08.03.2010 20:42