forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Помогите.Задачи в С++ Борланд (http://forum.boolean.name/showthread.php?t=1023)

Akima 05.07.2006 13:47

я так понял у тебя массив А [100; 1; 25.6; 700.1] а B [12.5; -130; 0; 335; -7; 45.1]

ну попробую помочь, если вспомню C =)


а ты в условии не обшибся?

impersonalis 05.07.2006 19:42

Цитата:

Составить подпрограмму определения наиблольшего элемента массива А,используя подпрограмму написать программу нахождения разности 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();
}


FeaDell 05.07.2006 20:13

спасиб,если еще чтото в голову придет, до пятницы жду.
В задании вроде не ошибся, то что дали то и написал.
Разве что мог напутать с одпрограммами,Сама тема 6 лабы, подпрограммы, а на бумажке ничего написанного не было,типа составить подпрограмму, и использовать ее в программе.А если все слова из моего условия заменить на программы.(ну где подпраграммы и просто программы, везде поставить программы), поможет???

impersonalis 05.07.2006 21:31

Вообще - условия к программе вещь весьма своеобразная я неоднакратно натыкался на несоответствия,грубые ошибки и по-просту бред в заданиях. Так что - делай наиболее очевидный вариант ( на мой взягляд - тот, который я привёл) и хорошенько в нём разберись, чтобы в случае необхъодимости смог его переправить по указнию препода.
Если в коде что непонятно - спрашивай.

Да - обязательно просмотри весь код я почит человек - а потому неидеален и могу допускать ошибки...
да-да...

impersonalis 05.07.2006 21:59

прошу прощения поторопился:
Код:

#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();
}


FeaDell 07.07.2006 09:46

Агромное спасибо. Пойду сдавать,Завтра будут результаты. :)

impersonalis 07.07.2006 22:07

Отпишись о результатах, как они появятся

334588 13.02.2009 23:21

Ответ: Помогите.Задачи в С++ Борланд
 
РЯБЯТ ПОМОГИТЕ ЕСЛИ ДО КОНЦА СЛЕДУЮЩЕЙ НЕДЕЛИ НЕ РЕШУ ЗАДАЧУ И НЕ СДАМ ЗАСТАВЯТ ПИСАТЬ ЗАЯВУ НА ОТЧИСЛЕНИЕ ПОМОГИТЕ УМОЛЯЮ!!!!!
ВОТ ЗАДАЧА:
НАЙТИ НАИБОЛЬШИЕ ЭЛЕМЕНТЫ И ИХ ПОРЯДКОВЫЕ НОМЕРА МАССИВОВ X(N) И Y(N)
P.S. ЗАДАЧА ИЗ C++
ЗАРАНЕЕ СПАСИБО)

impersonalis 14.02.2009 01:58

Ответ: Помогите.Задачи в С++ Борланд
 
как вариант
Код:

#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();
}


ABTOMAT 14.02.2009 01:59

Ответ: Помогите.Задачи в С++ Борланд
 
Не корми копипастера: ещё попросит

HolyDel 14.02.2009 11:25

Ответ: Помогите.Задачи в С++ Борланд
 
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();
}


Morganolla 14.02.2009 19:02

Ответ: Помогите.Задачи в С++ Борланд
 
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;}
}
Где то так, наверна?

334588 15.02.2009 14:13

Ответ: Помогите.Задачи в С++ Борланд
 
помогите еще одну задачку сделать пожалуйста
http://depositfiles.com/files/qxf10x6v3 <= вотссылка где задачка лежит

Dream 15.02.2009 14:37

Ответ: Помогите.Задачи в С++ Борланд
 

Цитата:

Сообщение от ABTOMAT (Сообщение 98125)
Не корми копипастера: ещё попросит

Цитата:

помогите еще одну задачку сделать пожалуйста
http://depositfiles.com/files/qxf10x6v3 <= вотссылка где задачка лежит
свершается)))

jimon 15.02.2009 15:08

Ответ: Помогите.Задачи в С++ Борланд
 
334588
если учишся на факе связаным с программированием то пусть тебя лутче исключат имхо
программисты они как медики, если медик-студент не может осилить предмет то пусть лутче он не будет медиком чем будет калечить пациентов


Часовой пояс GMT +4, время: 15:55.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot