• 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.

0 głosów
66 wizyt
pytanie zadane 23 października 2017 w C i C++ przez chucksqll Dyskutant (7,750 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 Maniak (58,240 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ź 50 wizyt
pytanie zadane 3 kwietnia 2017 w C i C++ przez hacker09 Użytkownik (520 p.)
0 głosów
1 odpowiedź 91 wizyt
pytanie zadane 12 stycznia 2017 w C i C++ przez kidcudi6 Nowicjusz (170 p.)
0 głosów
1 odpowiedź 84 wizyt
pytanie zadane 11 grudnia 2016 w C i C++ przez czujek22 Mądrala (5,920 p.)
Oferty pracy dla początkujących programistów na portalu No Fluff Jobs
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

49,791 zapytań

91,757 odpowiedzi

185,365 komentarzy

24,231 pasjonatów

Przeglądających: 270
Pasjonatów: 26 Gości: 244

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.

...