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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2008, 01:36   #1
Sad_SmiliK
Пользователь
 
Регистрация: 20.10.2008
Сообщений: 15
Вопрос Создание функций в C++

Приветствую всех. Помогите плз с доделыванием задачи по Си++.
Задача в общем решена (кое-как ), но необходимо, чтобы в коде фигурировало включение хоть одной функции. Вот код:

#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#define N 14

void main ()
{
int n, chislo;
int k,i,j,l,maxone,maxtwo,indeks1,indek s2,summa,proizved;
maxone=-1e36;
maxtwo=-1e36;
cout << "vvedite kol-vo chisel v massive \n";
cin >> n;
while (n<1 || n>N)
{
cout << "vvodite n\n";
cin >> n;
}
cout << "\n";
int arrayone[N], arraytwo[N];
for (int u=0;u<n;u++)
{
cout << "element nomer " << u << " massiva A\n";
cin >> chislo ;
arrayone[u]=chislo;
}
for (int w=0; w<n;w++)
{
cout << "element nomer " << w << " massiva B\n";
cin >> chislo;
arraytwo[w]=chislo;
}
for (int s=0;s<n;s++)
{
if (arrayone[s]>maxone)
{
maxone=arrayone[s];
indeks1=s;
}
}
for (int t=0;t<6;t++)
{
if (arraytwo[t]>maxtwo)
{
maxtwo=arraytwo[t];
indeks2=t;
}
}
summa=0;
proizved=1;
if (indeks1<=indeks2)
{
cout << "\n";
cout << "deistviya vypolnyautsya dlya pervogo massiva\n";
for (int r=0;r<n;r++)
{
if (arrayone[r]>0)
{
proizved=proizved*arrayone[r];
}
}
for (int p=0;p<n;p++)
{
if (arrayone[p]<0)
{
summa=summa+arrayone[p];
}
}
}
else
{
cout << "\n";
cout << "deistviya vypolnyautsya dlya vtorogo massiva\n";
for (int rr=0;rr<n;rr++)
{
if (arraytwo[rr]>0)
{
proizved=proizved*arraytwo[rr];
}
}
for (int pp=0;pp<n;pp++)
{
if (arraytwo[pp]<0)
{
summa=summa+arraytwo[pp];
}
}
}
cout << "proizvedenie polojitelnyh elementov massiva= " << proizved ;
cout << "\n";
cout << "summa otricatelnyh elementov massiva= " << summa ;
}

Хотелось бы, чтобы функция выполняла действия, идущие после сравнения индексов (то бишь двумя включениями заменить содержания тел if (indeks1<=indeks2) и else), но проблема в том, что никак не могу разобраться с прототипами и внесением аргументов в тело функции.
Заранее спасибо

з.ы. На всякий случай - задача в том, что мы задаем два массива и в том, где максимум встречается раньше находим произведение положительных элементов и сумму отрицательных.

Последний раз редактировалось Sad_SmiliK; 20.10.2008 в 01:41.
Sad_SmiliK вне форума Ответить с цитированием
Старый 20.10.2008, 18:49   #2
Алисик-кисик
 
Регистрация: 20.10.2008
Сообщений: 9
По умолчанию

пожалуйста,помогите еще с одной программкой=))
не могу понять что здесь не так?

#include<stdio.h>
#include<iostream.h>
#include<math.h>
void main()
{double x;
{cout<<"\n programma schitaet funkziy";
cout<<"\n na promegutke [2.5;3]";
double r;//Vvedite chislo ot 2.5 do 3
cout<<"\Enter namber of x!";
cin>>r;
if(r<2.5|| r>3)//chislo ne otnositsa k promegutku [2.5;3]
{cout<<"oshibka v vibore x!";
getchar();
}
}cout<<(double)(sqrt(x*x+1));
getchar();
}
Алисик-кисик вне форума Ответить с цитированием
Старый 20.10.2008, 19:24   #3
NjaalkemeBit
Пользователь
 
Регистрация: 19.10.2008
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Sad_SmiliK Посмотреть сообщение
Приветствую всех. Помогите плз с доделыванием задачи по Си++.
Задача в общем решена (кое-как ), но необходимо, чтобы в коде фигурировало включение хоть одной функции. Вот код:

...

Хотелось бы, чтобы функция выполняла действия, идущие после сравнения индексов (то бишь двумя включениями заменить содержания тел if (indeks1<=indeks2) и else), но проблема в том, что никак не могу разобраться с прототипами и внесением аргументов в тело функции.
Заранее спасибо

з.ы. На всякий случай - задача в том, что мы задаем два массива и в том, где максимум встречается раньше находим произведение положительных элементов и сумму отрицательных.
Если алг. на кучу функций разбить… то вот…(см. ArrayAB.txt)
Вложения
Тип файла: txt ArrayAB.txt (2.2 Кб, 44 просмотров)
NjaalkemeBit вне форума Ответить с цитированием
Старый 20.10.2008, 19:36   #4
NjaalkemeBit
Пользователь
 
Регистрация: 19.10.2008
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Алисик-кисик Посмотреть сообщение
пожалуйста,помогите еще с одной программкой=))
не могу понять что здесь не так?

#include<stdio.h>
#include<iostream.h>
#include<math.h>
void main()...

}

#include <iostream.h>
#include <math.h>

int main(int argc, char* argv[])
{

cout<<"\n programma schitaet funkziy";
cout<<"\n na promegutke [2.5;3]";

cout<<"\Enter number x[ 2.5, 3]!";
double r;//Vvedite chislo ot 2.5 do 3
cin>>r;

if(r<2.5 || r>3)//chislo ne otnositsa k promegutku [2.5;3]
cout<<"oshibka v vibore x!";
else
cout<<(double)(sqrt(r*r+1));

getchar();
//getchar();

return 0;
}
NjaalkemeBit вне форума Ответить с цитированием
Старый 20.10.2008, 19:55   #5
Алисик-кисик
 
Регистрация: 20.10.2008
Сообщений: 9
По умолчанию

NjaalkemeBit,спасибо большое=)))
Алисик-кисик вне форума Ответить с цитированием
Старый 20.10.2008, 20:35   #6
Sad_SmiliK
Пользователь
 
Регистрация: 20.10.2008
Сообщений: 15
По умолчанию

Цитата:
Сообщение от NjaalkemeBit Посмотреть сообщение
Если алг. на кучу функций разбить… то вот…(см. ArrayAB.txt)
Спасибо, начал постепенно понимать как юзать массивы. Но у вас в функции main не используется функция задания размера массива, как это исправить (включение этой функции по идее должно повлиять на остальные функции, ведь в них в качестве размера используется константа)?
Sad_SmiliK вне форума Ответить с цитированием
Старый 20.10.2008, 20:39   #7
NjaalkemeBit
Пользователь
 
Регистрация: 19.10.2008
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Алисик-кисик Посмотреть сообщение
NjaalkemeBit,спасибо большое=)))
ПожалуйСта Хва $. =))) Да не за что конечно же.
NjaalkemeBit вне форума Ответить с цитированием
Старый 20.10.2008, 21:12   #8
NjaalkemeBit
Пользователь
 
Регистрация: 19.10.2008
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Sad_SmiliK Посмотреть сообщение
Спасибо, начал постепенно понимать как юзать массивы. Но у вас в функции main не используется функция задания размера массива, как это исправить (включение этой функции по идее должно повлиять на остальные функции, ведь в них в качестве размера используется константа)?
обнова.......
Вложения
Тип файла: txt ArrayAB ver 2.0.txt (2.4 Кб, 141 просмотров)
NjaalkemeBit вне форума Ответить с цитированием
Старый 23.10.2008, 22:24   #9
Sad_SmiliK
Пользователь
 
Регистрация: 20.10.2008
Сообщений: 15
По умолчанию

Цитата:
Сообщение от NjaalkemeBit Посмотреть сообщение
обнова.......
Спасибо, помогло.

Вот ещё возникла задача:
Задаются двухмерный квадратный массив и два числа. Если элемент на главной диагонали этого массива принадлежит промежутку между числами, то вычисляется сумма модулей чисел в столбце с этим элементом, если нет, то произведение модулей. Результаты запихиваются в отдельный одномерный массив и там ищутся минимум и максимум. У меня в коде почему то порой не корректно работают операции с отрицательными числами (к примеру, число -5 не считается принадлежащим промежутку между -6 и -4, притом та же -5 принадлежит -100 и 100) и не ищется минимум.
Заранее спасибо
Вложения
Тип файла: txt laba2mmassivy.txt (1.8 Кб, 125 просмотров)
Sad_SmiliK вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычесление функций... Lemo Помощь студентам 10 19.10.2008 15:08
аппроксимация функций natasha Общие вопросы Delphi 6 26.08.2008 19:07
создание встроенных функций OLesechka300490 Помощь студентам 6 10.06.2008 12:54
Аналоги функций xfoxx Общие вопросы C/C++ 4 26.03.2008 00:22
График функций Estrella Помощь студентам 3 23.10.2007 13:24