Maksymalna wartość pewnej talbicy

2011-01-16 16:19

Rejestracja: 9 lat temu

Ostatnio: 8 lat temu

0

Witam !
Mam następujący problem :
Program ma tworzyć N-elementową tablicę (wszystko ok na razie), ma znaleźć maxa tej tablicy (działa), znaleźć gdzie jest największy skok wartości między elementami tablicy (np. 2 3 7 1 3 - to max jest 7 a największy skok jest 6 (7-1) - nie do końca działa).Następnie program ma porównać największy skok z 1, jeśli jest większy od jeden to zastąpić ma największy element tablicy x dwoma elementami o wartościach równych x/2.

Proszę o pomoc w zadaniu !
Z góry dzięki za pomoc

Kod:


#include <iostream>
#include <cmath> 

using namespace std;

float *tablica;
float *tablica2;
int N,stop,ile;
float maximum,x,b,maximums;

void wartosci()
{
     cout<<"Podaj dlugosc tablicy : ";
     cin>>N;
     tablica = new float[N];
     cout<<endl;
     for(int i=0; i<N; i++)
     {
              cout<<"tablica["<<i<<"] : ";
              cin>>tablica[i];
     } 
}

void max()
{
     for(int i = 0; i < N; i++) 
     maximum = tablica[0];
     for(int i = 1; i < N; i++)
     if(tablica[i] > maximum) maximum = tablica[i];
     cout <<"Maksymalna wartosc talbicy : "<<maximum<<endl;

}

void wyswietlanie()
{

    cout<<"Tablica wejsciowa : ";
    for (int i=0;i<N;i++)
    {

         cout<<tablica[i]<<" ";

     }
     cout<<endl;

}

void skok()
{
     cout<<"Poszczegolne skoki : ";
     tablica2 = new float[N-1];
     for (int i=0;i<N-1;i++)
     {
         b=tablica[i]-tablica[i+1];
         tablica2[i]=b;
         cout<<abs(b)<<" ";

     }

}
//tutaj nie za dobrze dziala 
void maxskok()
{
     for(int i = 0; i < N-1; i++) 
     maximum = abs(tablica2[0]);
     for(int i = 1; i < N-1; i++)
     if(abs(tablica2[i]) > maximums) maximums = abs(tablica2[i]);
     cout <<"Maksymalna wartosc talbicy : "<<maximums<<endl;

}

int main()
{
    wartosci();
    max();
    wyswietlanie();
    skok();
    maxskok();

    system("pause");
    return 0;
}

Pozostało 580 znaków

2011-01-16 16:26
Moderator

Rejestracja: 12 lat temu

Ostatnio: 32 minuty temu

0

Posortuj ją sobie. Będzie szybciej.


Pozostało 580 znaków

2011-01-16 16:28

Rejestracja: 9 lat temu

Ostatnio: 8 lat temu

0

Ale nie wrócę wtedy do miejsca gdzie ten skok największy jest.

Pozostało 580 znaków

2011-01-16 16:47

Rejestracja: 9 lat temu

Ostatnio: 3 lata temu

0

porównuj wartość elementu, ale zapamiętuj jego indeks

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0