|
05.07.2006, 13:47
|
#16
|
Бывалый
Регистрация: 22.10.2005
Сообщений: 701
Написано 7 полезных сообщений (для 5 пользователей)
|
я так понял у тебя массив А [100; 1; 25.6; 700.1] а B [12.5; -130; 0; 335; -7; 45.1]
ну попробую помочь, если вспомню C =)
а ты в условии не обшибся?
|
(Offline)
|
|
05.07.2006, 19:42
|
#17
|
Зануда с интернетом
Регистрация: 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)
|
|
05.07.2006, 20:13
|
#18
|
ПроЭктировщик
Регистрация: 12.02.2006
Сообщений: 125
Написано 0 полезных сообщений (для 0 пользователей)
|
спасиб,если еще чтото в голову придет, до пятницы жду.
В задании вроде не ошибся, то что дали то и написал.
Разве что мог напутать с одпрограммами,Сама тема 6 лабы, подпрограммы, а на бумажке ничего написанного не было,типа составить подпрограмму, и использовать ее в программе.А если все слова из моего условия заменить на программы.(ну где подпраграммы и просто программы, везде поставить программы), поможет???
|
(Offline)
|
|
05.07.2006, 21:31
|
#19
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Вообще - условия к программе вещь весьма своеобразная я неоднакратно натыкался на несоответствия,грубые ошибки и по-просту бред в заданиях. Так что - делай наиболее очевидный вариант ( на мой взягляд - тот, который я привёл) и хорошенько в нём разберись, чтобы в случае необхъодимости смог его переправить по указнию препода.
Если в коде что непонятно - спрашивай.
Да - обязательно просмотри весь код я почит человек - а потому неидеален и могу допускать ошибки...
да-да...
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
05.07.2006, 21:59
|
#20
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
прошу прощения поторопился:
#include<iostream.h>
#include<conio.h>
#include<math.h>
double GetMax(double m[],int n){
double max=fabs(m[0]);
for(int i=1;i<n;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,sizeof(A)/8)-GetMax(B,sizeof(B)/8);
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)
|
|
07.07.2006, 09:46
|
#21
|
ПроЭктировщик
Регистрация: 12.02.2006
Сообщений: 125
Написано 0 полезных сообщений (для 0 пользователей)
|
Агромное спасибо. Пойду сдавать,Завтра будут результаты.
|
(Offline)
|
|
07.07.2006, 22:07
|
#22
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Отпишись о результатах, как они появятся
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
13.02.2009, 23:21
|
#23
|
AnyKey`щик
Регистрация: 13.02.2009
Сообщений: 7
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Помогите.Задачи в С++ Борланд
РЯБЯТ ПОМОГИТЕ ЕСЛИ ДО КОНЦА СЛЕДУЮЩЕЙ НЕДЕЛИ НЕ РЕШУ ЗАДАЧУ И НЕ СДАМ ЗАСТАВЯТ ПИСАТЬ ЗАЯВУ НА ОТЧИСЛЕНИЕ ПОМОГИТЕ УМОЛЯЮ!!!!!
ВОТ ЗАДАЧА:
НАЙТИ НАИБОЛЬШИЕ ЭЛЕМЕНТЫ И ИХ ПОРЯДКОВЫЕ НОМЕРА МАССИВОВ X(N) И Y(N)
P.S. ЗАДАЧА ИЗ C++
ЗАРАНЕЕ СПАСИБО)
|
(Offline)
|
|
14.02.2009, 01:58
|
#24
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Помогите.Задачи в С++ Борланд
как вариант
#include <stdlib.h>
#include <math.h>
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
template<class data>
unsigned GetMax(data v[],unsigned N){
unsigned ndx=0;
for(unsigned i=1;i<N;i++){
if(v[i]>v[ndx])
ndx=i;
}
return ndx;
}
template<class data>
void InputRNDvector(data *v,unsigned size){
for(unsigned i=0;i<size;i++){
v[i]=(rand()%100)*0.1;//0.0;0.1;...9.9;
}
}
template<class data>
void OutputRNDvector(data *v,unsigned size){
for(unsigned i=0;i<size;i++){
cout<<i<<setw(7)<<v[i]<<"\n";
}
}
void main(){
int N=10;
double *X=new double[N];
InputRNDvector(X,N);
OutputRNDvector(X,N);
unsigned Xi=GetMax(X,N);
cout<<"--------------"<<endl;
cout<<"["<<Xi<<"]="<<X[Xi]<<endl;
cout<<"\n";
double *Y=new double[N];
InputRNDvector(Y,N);
OutputRNDvector(Y,N);
unsigned Yi=GetMax(Y,N);
cout<<"--------------"<<endl;
cout<<"["<<Yi<<"]="<<Y[Yi]<<endl;
getch();
}
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.02.2009, 01:59
|
#25
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Помогите.Задачи в С++ Борланд
Не корми копипастера: ещё попросит
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.02.2009, 11:25
|
#26
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Помогите.Задачи в С++ Борланд
impersonalis! не знал что шаблоны можно ТАК пользовать. мне казалось нужно перед каждым его вызовом писать <бла-бла-бла>.
вот, доработал твою программу, чтобы компилилась на 2005 студии.
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <windows.h>
using namespace std;
template<class data>
unsigned GetMax(data v[],unsigned N){
unsigned ndx=0;
for(unsigned i=1;i<N;i++){
if(v[i]>v[ndx])
ndx=i;
}
return ndx;
}
template<class data>
void InputRNDvector(data *v,unsigned size){
for(unsigned i=0;i<size;i++){
v[i]=(rand()%100)*0.1;//0.0;0.1;...9.9;
}
}
template<class data>
void OutputRNDvector(data *v,unsigned size){
for(unsigned i=0;i<size;i++){
cout<<i<<setw(7)<<v[i]<<"\n";
}
}
void main(){
srand(GetTickCount());
int N=10;
double *X=new double[N];
InputRNDvector(X,N);
OutputRNDvector(X,N);
unsigned Xi=GetMax(X,N);
cout<<"--------------"<<endl;
cout<<"["<<Xi<<"]="<<X[Xi]<<endl;
cout<<"\n";
double *Y=new double[N];
InputRNDvector(Y,N);
OutputRNDvector(Y,N);
unsigned Yi=GetMax(Y,N);
cout<<"--------------"<<endl;
cout<<"["<<Yi<<"]="<<Y[Yi]<<endl;
_getch();
}
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
14.02.2009, 19:02
|
#27
|
Бывалый
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений (для 245 пользователей)
|
Ответ: Помогите.Задачи в С++ Борланд
Xmax=X[0];
NXmax=0;
Ymax=Y[0];
NYmax=0;
for (int i=1;N-1; i++)
{
if (X[i]>Xmax) {Xmax=X[i];NXmax=i;}
if (Y[i]>Ymax) {Ymax=Y[i];NYmax=i;}
}
Где то так, наверна?
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
|
(Offline)
|
|
15.02.2009, 14:13
|
#28
|
AnyKey`щик
Регистрация: 13.02.2009
Сообщений: 7
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Помогите.Задачи в С++ Борланд
помогите еще одну задачку сделать пожалуйста
http://depositfiles.com/files/qxf10x6v3 <= вотссылка где задачка лежит
|
(Offline)
|
|
15.02.2009, 14:37
|
#29
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Помогите.Задачи в С++ Борланд
Сообщение от ABTOMAT
Не корми копипастера: ещё попросит
|
свершается)))
|
(Offline)
|
|
15.02.2009, 15:08
|
#30
|
|
Ответ: Помогите.Задачи в С++ Борланд
334588
если учишся на факе связаным с программированием то пусть тебя лутче исключат имхо
программисты они как медики, если медик-студент не может осилить предмет то пусть лутче он не будет медиком чем будет калечить пациентов
|
|
|
Эти 6 пользователя(ей) сказали Спасибо за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:52.
|