• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja z uzyciem wskaznikow na poczatek i koniec tablicy.

Ultraszybki serwer VPS NVMe BIZNES
0 głosów
57 wizyt
pytanie zadane 23 października 2017 w C i C++ przez chucksqll Gaduła (4,180 p.)

Witam, mam problem nie tyle co z niedziałającym program to tyle z zrozumieniem jak on działa.(dokładniej ze wskaźnikami ogólnie)

Przerabiam książkę Język C++ Szkoła Programowania, jestem obecnie w ćwiczeniach programistycznych rozdziału 7 zadanie 7. Treść:

Zmodyfikuj program z listingu 7.7, zamieniając trzy funkcje obsługujące tablice tak, aby
każda z nich używała dwóch wskaźników określających zakres. Funkcja f i l l _ a r r a y ( ) ,
zamiast zwracać aktualną liczbę elementów, ma zwrócić wskaźnik elementu znajdującego
się za ostatnim wypełnionym elementem. Inne funkcje mają używać tego wskaźnika jako
drugiego parametru pozwalającego wykryć koniec danych. Oto mój kod, prosiłbym bym o wytłumaczenie jak to tam działa zwłaszcza wskaźnik funkcji fill_array(? czy jak to nazwać) oraz ogólną ocenę poprawności, bo robi się coraz trudniej, więc więcej błędów się zdarza.

#include <iostream>

const int Max=5;
using namespace std;

double * fill_array(double * begining, double * end_tab);
void show_array(const double * begining,const double * end_tab);
void revalue(double r, double * begining, double * end_tab);

int main()
{
    double properties[Max];

    double * last_piece=fill_array(properties,properties+Max);
    show_array(properties, last_piece);
    if(properties!=last_piece)
    {
        cout<<"podaj czynnik zmiany wartosci: ";
        double factor;
        while(!(cin>>factor))
        {
            cin.clear();
            while(cin.get()!='\n')
                continue;
            cout<<"niepoprawna wartosc; podaj liczbe: ";

        }
        revalue(factor, properties, last_piece );
        show_array(properties, last_piece);
    }
    cout<<"gotowe"<<endl;
    cin.get();
    cin.get();
    return 0;
}
double * fill_array(double * begining, double * end_tab)
{
    double temp;
    double * pt;
    int i=0;

    for(pt=begining; pt!=end_tab; pt++)
    {
        cout<<"podaj wartosc nr. "<<(i+1)<<": ";
        i++;
        cin>>temp;
        if(!cin)
        {
            cin.clear();
            while(cin.get()!='\n')
                continue;
            cout<<"bledne dane koniec wczytywanaia"<<endl;
            break;
        }
        else if(temp <0)
            break;
        //ar[i]=temp;
        *pt=temp;
    }
    return pt;
}
void show_array(const double * begining,const double * end_tab)
{
    int i=0;
    const double *pt;
    for(pt=begining; pt!=end_tab; pt++)
    {
        cout<<"nieruchomosc nr "<<(i+1)<<": ";
        cout<<*pt<<endl;
        i++;
    }
}
void revalue(double r,double * begining, double * end_tab)
{
    double * pt;
    for(pt=begining; pt!=end_tab; pt++)
    {
        (*pt)*=r;
    }
}

 

komentarz 24 października 2017 przez j23 Nałogowiec (41,860 p.)

Oto mój kod, prosiłbym bym o wytłumaczenie jak to tam działa (...)

To jak, napisałeś kod, a teraz pytasz, jak on działa?cool

 

Co do kodu to błędów nie widzę.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 49 wizyt
pytanie zadane 3 kwietnia 2017 w C i C++ przez hacker09 Początkujący (410 p.)
0 głosów
1 odpowiedź 79 wizyt
pytanie zadane 12 stycznia 2017 w C i C++ przez kidcudi6 Nowicjusz (170 p.)
0 głosów
1 odpowiedź 76 wizyt
pytanie zadane 11 grudnia 2016 w C i C++ przez czujek22 Mądrala (5,830 p.)
Porady nie od parady
Forum posiada swój własny chat IRC, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.
Ciekawy innych porad? Odwiedź tę stronę!

44,323 zapytań

84,160 odpowiedzi

167,562 komentarzy

21,229 pasjonatów

Przeglądających: 343
Pasjonatów: 22 Gości: 321

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...