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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2009, 14:17   #1
Chaynik011091
Пользователь
 
Аватар для Chaynik011091
 
Регистрация: 22.06.2009
Сообщений: 27
По умолчанию Функции в С++

есть программа(спасибо всем кто помог мне её сделать)
Код:
#include <iostream.h>
#include <math.h>
#include<conio.h>
 main()
{

float mas[10]={2.2, 3.5, 7.1, 8.3, 9.4, 8.1, 7.3, 4.2, 1.8,1.7},nov[10];
int i;

float V = 0;
for( i=0;i<10;i++)
{
V = pow(mas[i], 2);
}
V = sqrt(V);
double r = 0;
for(i=0;i<10;i++)
{
r=(mas[i]/(1+V))*cos(30);
nov[i]=r;
}
float max=0;
for(i=0;i<8;i++)
{
	while (max<nov[i+1]){max=nov[i+1];}
}
cout<<"Maks element"<<max<<endl;
for (i=0; i<10; i++) {cout<<nov[i]<<" "<<endl;
return 0;
}
но, поиск V и максимального елемента надо оформить функцией...
Как всякий мужчина, я всегда ношу при себе орудие насилия. (Анджей Керн)
Оптимист учит английский, песимист-китайский, а реалист учит автомат Калашникова.
Chaynik011091 вне форума Ответить с цитированием
Старый 26.06.2009, 15:13   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Уважаемый товарищ Чайник. В той же теме, где вам написали данный код несколькими постами ранее я написала код, в котором поиск V и максимального елемента оформлены функциями. Позвольте поинтересоваться, чем он вас не устроил?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать

Последний раз редактировалось ACE Valery; 26.06.2009 в 15:17.
ACE Valery вне форума Ответить с цитированием
Старый 26.06.2009, 15:17   #3
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Код:
for(i=0;i<8;i++)
{
	while (max<nov[i+1]){max=nov[i+1];}
}
О_О Я только проснулся, но все же.. это зачем так?

смысл этого также остается для меня тайной

Код:
for( i=0;i<10;i++)
{
V = pow(mas[i], 2);
}
V = sqrt(V);
Получается что при дальнейшем формировании массива nov у вас V будет константой.. так и задумывалось что ли?
Почему бы тогда не написать тупо V = mas[9]; ?
Хотя уверен что задумка была не такой)
Uguu~

Последний раз редактировалось __STDC__; 26.06.2009 в 15:26.
__STDC__ вне форума Ответить с цитированием
Старый 26.06.2009, 15:20   #4
Chaynik011091
Пользователь
 
Аватар для Chaynik011091
 
Регистрация: 22.06.2009
Сообщений: 27
По умолчанию

ACE Valery сейчас посмотрю....
Как всякий мужчина, я всегда ношу при себе орудие насилия. (Анджей Керн)
Оптимист учит английский, песимист-китайский, а реалист учит автомат Калашникова.
Chaynik011091 вне форума Ответить с цитированием
Старый 26.06.2009, 15:29   #5
Chaynik011091
Пользователь
 
Аватар для Chaynik011091
 
Регистрация: 22.06.2009
Сообщений: 27
По умолчанию

Код:
#include <iostream.h>
#include <math.h>

float CalculateV(float mas[], int n);
float CalculateMax(float mas[], int n);
void PrintMas(float mas[], int n);

void main()
{
	const int n = 10;
	float mas[n]={2.2, 3.5, 7.1, 8.3, 9.4, 8.1, 7.3, 4.2, 1.8, 9.1};
	cout<<"Initial array "<<endl;
	PrintMas(mas, n);
	float V = CalculateV(mas, n);
	cout<<"|V| = "<<V<<endl;
	float masR[n];
	for(int i = 0; i < n; i++)
	{
		masR[i] = (mas[i]/(1+V))*cos(30.0);
	}
	cout<<"Array Rk"<<endl;
	PrintMas(masR, n);
	float max = CalculateMax(masR, n);
	cout<<"Maximum value = "<<max<<endl;
           
}

float CalculateV(float mas[], int n)
{
	float V = 0;
	for(int i = 0; i < n; i++)
	{
		V = V + pow(mas[i], 2);
	}
	return sqrt(V);
}

float CalculateMax(float mas[], int n)
{
	float max = mas[0];
	for(int i = 0; i < n; i++)
	{
		if(mas[i] > max)
			max = mas[i];
	}
	return max;
}

void PrintMas(float mas[], int n)
{
	for(int i = 0; i < n; i++)
	{
		cout<<mas[i]<<"   ";
	}
	cout<<endl;
}
да вот нашел.... но что значит Calculate?это какая то функция??и что делает эта строчка void PrintMas(float mas[], int n);??
а что надо сделать чтобы не выводился изначальный массив на экран при выводе результатов??
Как всякий мужчина, я всегда ношу при себе орудие насилия. (Анджей Керн)
Оптимист учит английский, песимист-китайский, а реалист учит автомат Калашникова.

Последний раз редактировалось Chaynik011091; 26.06.2009 в 16:42.
Chaynik011091 вне форума Ответить с цитированием
Старый 26.06.2009, 15:32   #6
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

О, вот это уже по-человечески... Это функция рассчета V... которое равно корню из суммы квадратов элементов массива
void PrintMas(float mas[], int n); - прототип функции вывода массива...

Цитата:
Сообщение от Chaynik011091 Посмотреть сообщение
а что надо сделать чтобы не выводился изначальный массив на экран при выводе результатов??
убрать первый вызов ф-ции PrintMas
Uguu~

Последний раз редактировалось __STDC__; 26.06.2009 в 17:02.
__STDC__ вне форума Ответить с цитированием
Старый 26.06.2009, 18:25   #7
StudentPolitech
Форумчанин
 
Аватар для StudentPolitech
 
Регистрация: 21.11.2008
Сообщений: 400
По умолчанию

Цитата:
Сообщение от __STDC__ Посмотреть сообщение
Код:
for(i=0;i<8;i++)
{
	while (max<nov[i+1]){max=nov[i+1];}
}
О_О Я только проснулся, но все же.. это зачем так?

смысл этого также остается для меня тайной

Код:
for( i=0;i<10;i++)
{
V = pow(mas[i], 2);
}
V = sqrt(V);
Получается что при дальнейшем формировании массива nov у вас V будет константой.. так и задумывалось что ли?
Почему бы тогда не написать тупо V = mas[9]; ?
Хотя уверен что задумка была не такой)
Писал без компилятора, и без включения мозгов, может где и ошибся
Так что хорошо что ваще компилилось (помойму я там не говорил что он полностью рабочий, кто проверит пусть скажет что заработало, я буду несказанно рад)
Винда, KIS 2010, книжка по С/С++, остальное неважно........
StudentPolitech вне форума Ответить с цитированием
Старый 26.06.2009, 22:38   #8
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

я проверил... он работает, но логика не совсем неверная
Uguu~
__STDC__ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функции в С Viamy Помощь студентам 0 02.06.2009 10:44
Функции Волк Microsoft Office Excel 2 28.04.2009 06:56
Функции. Передача массива в качестве параметра функции. Wia Помощь студентам 2 17.03.2009 14:57
Функции в С++ bullvinkle Помощь студентам 5 08.12.2008 07:36