Показать сообщение отдельно
Старый 05.07.2006, 19:42   #17
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Плохо

Составить подпрограмму определения наиблольшего элемента массива А,используя подпрограмму написать программу нахождения разности rs максимальных по модулю элементов массивов А и В
Я что-то не догоняю, как при помощи первой подпрограммы (отыскание максимума) найти максимум по модулю, без её правки. Или это две разные подпрограммы? Или всё-таки нужна подпрограмма отыскания максимального эдемента по модулю?

вот функция (подпрограмма - брррр) отыскания максимума:
double GetMax(double m[]){
	double max=m[0];
	for(int i=1;i<sizeof(m)/8;i++)
		if(m[i]>max) max=m[i];
	return max;
}
работает с числами типа double.
вот функция отыскания масимального по модулю элемента:
#include<math.h>

double GetMax(double m[]){
	double max=fabs(m[0]);
	for(int i=1;i<sizeof(m)/8;i++)
		if(fabs(m[i])>max) max=fabs(m[i]);
	return max;
}
Остановимся на ней.
#include<iostream.h>
#include<conio.h>
#include<math.h>

double GetMax(double m[]){
	double max=fabs(m[0]);
	for(int i=1;i<sizeof(m)/8;i++)
		if(fabs(m[i])>max) max=fabs(m[i]);
	return max;
}

void main(){
	double A[5]={100,1,25.6,700,1};
	double B[6]={12.5,-130,0,335,-7,45.1};
	double rs=GetMax(A)-GetMax(B);
	
	cout<<"A={";
	for(int i=0;i<sizeof(A)/8;i++)
		cout<<A[i]<<"; ";
	cout<<"\b}."<<endl;
	cout<<"B={";
	for(int j=0;j<sizeof(B)/8;j++)
		cout<<B[j]<<"; ";
	cout<<"\b}."<<endl;
	cout<<"rs="<<rs<<endl;
	getch();
}
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием