Strona 1 z 1

[C++] Funkcje

: 13 lut 2018, o 07:16
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;
}



Re: [C++] Funkcje

: 13 lut 2018, o 11:23
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.