[C++] Funkcje

Kamil4037
Użytkownik
Użytkownik
Posty: 10
Rejestracja: 18 gru 2016, o 00:55
Płeć: Mężczyzna
Lokalizacja: Warszawa

[C++] Funkcje

Post autor: Kamil4037 »

Witam , jak przeanalizować krok po kroku po kodzie co robi funkcja Tablica. Bardzo proszę o pomoc

Kod: Zaznacz cały

#include<iostream>

using namespace std;

void wczytaj(int tab[], int rozmiar);
void wypisz(int tab[], int rozmiar);
int* Tablica(int tab[], int rozmiar, int &resultLength);

int main()
{
    int rozmiar,resultLength;
    cout << "Podaj rozmiar tablicy: ";
    cin >> rozmiar;
    int tab[rozmiar];
    wczytaj(tab, rozmiar);
    wypisz(tab, rozmiar);
    int* w = Tablica(tab, rozmiar,resultLength);
    wypisz(w,resultLength);
    return 0;
}

void wczytaj(int tab[], int rozmiar)
{
    for(int i = 0; i < rozmiar; i++)
    {
        cout << "Podaj element o indeksie " << i << ": ";
        cin >> tab[i];
    }
}
void wypisz(int tab[], int rozmiar)
{
    for(int i = 0; i < rozmiar; i++)
    {
        cout << tab[i] << " ";
    }
    cout << endl;
}


int* Tablica(int tab[], int rozmiar, int &resultLength)
{
   int tD[rozmiar];
   int ostatniaDobra = 0;
   tD[0]=tab[0];

for (int i = 1; i < rozmiar; i++)
        if (tab[i]>=tD[ostatniaDobra])
        {
            tD[ostatniaDobra+1]=tab[i];
            ostatniaDobra++;
        }
    resultLength=ostatniaDobra + 1;
    int *resultArr = new int [resultLength];
    for (int i = 0; i < resultLength; i++)
        resultArr[i] = tD[i];
    return resultArr;
}


Awatar użytkownika
miki999
Użytkownik
Użytkownik
Posty: 8691
Rejestracja: 28 lis 2007, o 18:10
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 36 razy
Pomógł: 1001 razy

Re: [C++] Funkcje

Post autor: miki999 »

A z czym konkretnie masz problem? Wiesz czym jest tablica? Rozumiesz jak działa pętla for? Jeśli przypadek ogólny jest zbyt trudny weź sobie przykładową tablicę np. {5, 1, 3, 3, 8} i przeanalizuj na tym konkretnym przypadku.

A jak analiza sprawia problem, to użyj debuggera, np. online: na górze po lewej naciśnij Fork this, a potem kliknij Debug. Używanie debuggera jest cool.
ODPOWIEDZ