Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите написать простую программу!! 
:(
    Опции темы
dizel003
Дата 7.11.2007, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



Подскажите как передать в пользовательскую функцию масиив работая в visual C++...
Задание было поставлено так - Передать в пользовательскую функцию массив и вычислить произведение отрицательных и сумму положительных массивов.
Как написать пользовательскую функцию или как высчитать произведение отрицательных и сумму положитеьных массивов я знаю, а вот как передать в пользовательскую функцию массив нет.  
Завтро надо нести задание в институт... Так что прошу помочь...!
Заранее спасибо!!! 
PM MAIL   Вверх
Dogo
Дата 7.11.2007, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.2.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 9



Код

FunctionName(arrayName, arrayLength);


где arrayName - имя массива, которое также является указателем на первый элемент.
arrayLength - длинна массива (обязательно должен быть следующим параметром помле массива).

Цитата

... произведение отрицательных и сумму положительных массивов


Имеется ввиду положительных и отрицательных эл-ов?
PM MAIL ICQ   Вверх
zkv
Дата 7.11.2007, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



Код

int Function( int *arr, int size );

const int lenArr = 500;
int arrInt[ lenArr ];
std::cout<<Function( arrInt, lenArr );


Это сообщение отредактировал(а) zkv - 7.11.2007, 17:55
PM MAIL   Вверх
dizel003
Дата 7.11.2007, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



вот это содержащая пользовательская функция
#include <iostream.h>
double func (double a,double b,double c);
double main ()
{
    double x,a,b,c;
    x=func (a,b,c);
    cout <<x<<endl;
    cout <<func(5,5,20);
    return 0;}
double func (double a,double b,double c)
{
double x;
x=(a+b)/c;
return x;
}

А это программа выщитывающая произведение отрицательных и сумму положительных элементов
#include <iostream.h>
int main ()
{

 double arr[5],otr=1,pol=0;
int i;


cout <<"Enter value to the array (int float)"<<endl;


for (i=0;i<5; i++)
cin>>arr[i];


for (i=0;i<5;i++) //(i=i+1 
{
if (arr [i]<0)
otr*=arr[i];  
else  
pol+=arr[i];  
}

cout <<"pol="<<pol<<"\n"<<"otr="<<otr<<endl;

return 0;
}

Вот как передать массив в эту функцию...???

Это сообщение отредактировал(а) dizel003 - 7.11.2007, 17:46
PM MAIL   Вверх
dizel003
Дата 7.11.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



Dogo
Да сумму положительных и произведение отрицательных эл-ов..!!
PM MAIL   Вверх
Dogo
Дата 7.11.2007, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.2.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 9



Код

void Function(int iArray_[], int iArrayLength_, int *iSumResult_, int *iProdResult_)
{

    int sum = 0;
    int prod = 1;

    for(int i=0; i<iArrayLength_; i++)
       iArray_[i] < 0 ? prod*=iArray_[i] : sum+=iArray_[i];

    *iSumResult_  = sum;
    *iProdResult_ = prod;

  return;
}

int main()
{

    int iArr[]={5,4,3,2,1,0,-1,-2,-3,-4,-5};

    int iSumResult, iProdResult;

    Function(iArr, 11,  &iSumResult, &iProdResult);

    return 0;
}


Это сообщение отредактировал(а) Dogo - 7.11.2007, 18:23
PM MAIL ICQ   Вверх
dizel003
Дата 7.11.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



Dogo

тут написан портатип функции... но программа ничего не делает smile 

Это сообщение отредактировал(а) dizel003 - 7.11.2007, 18:33
PM MAIL   Вверх
Dogo
Дата 7.11.2007, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.2.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 9



Цитата(dizel003 @  7.11.2007,  19:31 Найти цитируемый пост)
тут написан портатип функции... но программа ничего не делает

Неужели?

Добавь строчку в конец main'а
Код

std::cout<<"Sum of positive items is "<<iSumResult<<"\nProduction of negative items is "<<iProdResult;

Перед return 0; естественно ...   smile 


Это сообщение отредактировал(а) Dogo - 7.11.2007, 18:44
PM MAIL ICQ   Вверх
dizel003
Дата 7.11.2007, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



Dogo
он мне всевремя ашибку выдаёт:
C:\Program Files\Microsoft Visual Studio\MyProjects\e4565e67u\ljksg.cpp(27) : error C2653: 'std' : is not a class or namespace name
библиотеки я подключил -
#include <iostream.h>
#include <iomanip.h>



 smile

Добавлено @ 18:53
Dogo
или 15-120 ( почему такие цифры)

Это сообщение отредактировал(а) dizel003 - 7.11.2007, 18:53
PM MAIL   Вверх
Dogo
Дата 7.11.2007, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.2.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 9



Он же тебе говорит, что он не знает нэймспейса или класса std.
Попробуй cout вызывать без неймспейса. 
PM MAIL ICQ   Вверх
zkv
Дата 7.11.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



Цитата(Dogo @  7.11.2007,  18:58 Найти цитируемый пост)
Попробуй cout вызывать без неймспейса.  

лучше с нэймспэйсом, только подключить:
Код

#include <iostream>
#include <iomanip>


dizel003, пользуйся кнопкой "код"
PM MAIL   Вверх
dizel003
Дата 7.11.2007, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



Dogo
 не одной ошибки... smile (выводит 15-120) все завтро сдам... потом скажу правильно или нет написана программа!!!
Большое спасибо тебе smile 
PM MAIL   Вверх
Dogo
Дата 7.11.2007, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 20.2.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 9



Цитата(dizel003 @  7.11.2007,  19:52 Найти цитируемый пост)
или 15-120 ( почему такие цифры)


 5 + 4 + 3 + 2 + 1 + 0 = 15
-1 * -2 *-3 *-4 *-5 = -120

 smile 


PM MAIL ICQ   Вверх
dizel003
Дата 7.11.2007, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



Dogo
не я всё понял...  smile 
PM MAIL   Вверх
dizel003
Дата 11.11.2007, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



Dogo
кто знает какая сдесь допущена ашибка, скажите пожалуста!!!

#include <stdio.h>
#include <math.h>


void main ()
{
double x,y,z,a1,a2,a3,a4,b;
puts ("imput x,y,z:");

scanf ("%lf%lf%lf",&x,&y,&z);
a1=fabs (2 cos * (x-1./4));
a2=fabs (0.5 + (sin , 2) * y);
a3=fabs((1+z,2)/(3-z,2) /5);
b=a1/a2*a3;

printf ("\n for x = %lf, y = %lf, z = %lf, b = %lf\n",x,y,z,b);

}
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1118 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.