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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2010, 21:05   #1
sekator
Заблокирован
 
Регистрация: 27.07.2010
Сообщений: 11
Печаль Проблема с функциями(передача масива в функцию типа int)

Продолжая учится я дошел до функций и все шло хорошо пока не пришло время передавать масив в функцию! В уроках есть пример только функции

Код:
int summa (int array[ ], int size)
{ 
     int res=0; 
     for (int i = 0; i < size; i++) 
	res+ = array[i]; 
     return res; 
}
Но какой синтаксис будет в void main() главной функции программы не написали... я сидел методом тыка тыкал ошибки за ошибками...

Вот пожалуйста пример моих тыканий наугад синтаксиса

Код:
void main()
{
	int const a = 5;
	int mas[a];
	star(5,5);
	system("pause");
}
и так

Код:
void main()
{
	int const a = 5;
	int mas[a];
	star(mas[5],5);
	system("pause");
}
и еще много таких попыток! Будте добры кто знает помогите мне с этим маленьким вопросом

P.S. Не важно что за код в int функции мне главное суть какой синтаксис передачи и приема масива
sekator вне форума Ответить с цитированием
Старый 27.07.2010, 21:39   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не знаю C
но думаю, что такой вариант:
Код:
void main()
{
      int const a = 5;
      int mas[a];
      // тут неплохо бы что то в массив записать.. иначё в нём будет мусор, например можно так:
      mas[0] = 10;
      mas[1] = 12;
         ...
      int SumRes;
      SumRes = star(mas, 5); // кстати, рекомендую вместо 5 писать константу a
      system("pause");
}

Последний раз редактировалось Serge_Bliznykov; 27.07.2010 в 21:41.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.07.2010, 21:55   #3
sekator
Заблокирован
 
Регистрация: 27.07.2010
Сообщений: 11
По умолчанию

Serge_Bliznykov меня учили что надо обязательно размером массива указать константу но и так прокатило, просто из размышлений что второе значение возможно надо поменять! А так спасибо Вам ОГРОМНОЕ все вышло!
Код:
#include <iostream>
using namespace std;

// Должна менять значения переменных местами
int star (int mas[], int size1)
{ 
	cin>>mas[2];
     return 0; 
} 


void main()
{
	int const a = 5;
	int mas[a];
    mas[0] = 10;
    mas[1] = 12;
	int SumRes;
	SumRes = star(mas, 5); // кстати, рекомендую вместо 5 писать константу a
	cout<<mas[2];
	system("pause");
}
sekator вне форума Ответить с цитированием
Старый 27.07.2010, 22:05   #4
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

На C++
Код:
#inlcude <iostream>

int sum(int* arr, int size)
{
int val = 0;
for (int i = 0; i < size; i++)
   val += arr[i];
return val;
}

int main()
{
const int n = 5;
int arr[n] = {1, 2, 3, 4, 5};
std::cout << "Sum = " << sum(arr, n) << std::endl;
int m;
std::cout << "Enter size: ";
std::cin >> m;
int* arr2 = new int[m];
for (int i = 0; i < m; i++)
   arr[i] = i;
std::cout << "Sum = " << sum(arr2, m) << std::endl;
std::cin.get();
}
Если еще не знакомы с динамическими массивами - не заморачивайтесь пока.
Массив передавайте по его имени, желательно - объявляя этот аргумент как указатель.
Выражения типа
Код:
somefunc(arr[i], n);
передают в качестве аргумента i-й элемент массива, а вовсе не сам массив.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 27.07.2010, 22:13   #5
sekator
Заблокирован
 
Регистрация: 27.07.2010
Сообщений: 11
По умолчанию

О спс за инфу
sekator вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразования типа LPCSTR -> int без потери данных coNsept Общие вопросы C/C++ 2 20.05.2010 20:49
Передача файла в функцию в С++. Wertex Помощь студентам 0 26.01.2010 21:23
Передача объекта в функцию Юра_YUYU Общие вопросы C/C++ 14 18.01.2010 16:00
Конвертация типа string в int Mixasik Общие вопросы C/C++ 10 25.04.2009 02:58
Методы передачи масива в функцию ROD Общие вопросы C/C++ 4 30.11.2008 19:58