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

error string c++

Object Storage Arubacloud
–5 głosów
375 wizyt
pytanie zadane 21 lutego 2023 w C i C++ przez alazpodhala Nowicjusz (130 p.)
edycja 21 lutego 2023 przez alazpodhala


void Sortuj(int koniec[], int poczatek[], string id[])
{
    int i, j, pom_koniec, pom_poczatek;
    string pom_id;

    for (i=1; i<N; i++)
    {
        pom_koniec = koniec[i];
        pom_poczatek = poczatek[i];
        oim_id = id[i];
        j = i - 1;

        while (j>=0 && koniec[j]>pom_koniec)
        {
            koniec[j=1] = koniec[j];
            poczatek[j+1] = poczatwek[j];
            id[j+1] = id[j];
            j--;
        }

        koniec[j+1] = pom_koniec;
        poczatek[j+1] = pom_poczatek;
        id[j+1] = pom_id;
    }
}
void Wypisz(int koniec[], int poczatek[], string id[],
            int k)
{
    cout << id[k] << ": " << poczatek[k] << "-";
    cout << koniec[k] << endl;
}

void Wybierz(int koniec[], int poczatek [], string id[])
{
    int i, koniec_poprzedniego;

    Wypisz(koniec, poczatek, id, 0);
    koniec_poprzedniego = koniec[0];

    for (i=1; i<N; i++)
        if (poczatek[i] > koniec_poprzedniego)
        {

            wypisz(koniec, poczatek, id, i);
            koniec_poprzedniego = koniec[i];
        }
}

Witam, od razu zaznaczam, ze jestem "zielona" w c++ i nie mam pojęcia, w czym tkwi błąd. Mam do wykonania zadanie na informatykę w liceum. 

int main()
{
    int PN[] = {9, 16, 15, 18, 14, 10, 10, 13, 15, 18};
    int K[N] = {10, 17, 17, 21, 15, 14, 11, 14, 17, 20};
    string ID[N] = {"F0", "F1", "F2", "F3", "F4", "F5",
                   "F6", "F7", "F8", "F9"};

    cout << "Harmonogram festiwalu" << endl;
    for (int i=0; i<N; i++)
        wypisz(K, P, ID, i);

    cout << endl << "Wybrane filmy" << endl;
    Wybierz(K, P, ID);

    return 0;
}

błąd w string 

 

komentarz 21 lutego 2023 przez polandonion Mądrala (7,040 p.)
moglabys podeslac kod jako tekst? malo widac w tych screenach
komentarz 21 lutego 2023 przez wizarddos Nałogowiec (25,930 p.)

@alazpodhala, wstaw kod w odpowiedni bloczek, na tych screenach mało co widać jak wspomniano wyżej

Błędy też nam tu wrzuć

komentarz 21 lutego 2023 przez alazpodhala Nowicjusz (130 p.)

@xaVier__, Tak, chyba już widać kody ;)

1
komentarz 21 lutego 2023 przez tangarr Mędrzec (154,860 p.)

@alazpodhala,
Odpowiedz na pytania:
1. Jaka jest treść zadania?
2. Jakie dane wejściowe dostałaś?
3. Skąd masz ten program?

komentarz 21 lutego 2023 przez alazpodhala Nowicjusz (130 p.)

1. Treść zadania to Zapisz pełen kod źródłowy programu Problem kinomana. Skompiluj kod i uruchom program.

2. Należy złożyć je w całość

komentarz 21 lutego 2023 przez alazpodhala Nowicjusz (130 p.)

@wizarddos, 

void Sortuj(int koniec[], int poczatek[], string id[])
{
    int i, j, pom_koniec, pom_poczatek;
    string pom_id;

    for (i=1; i<N; i++)
    {
        pom_koniec = koniec[i];
        pom_poczatek = poczatek[i];
        oim_id = id[i];
        j = i - 1;

        while (j>=0 && koniec[j]>pom_koniec)
        {
            koniec[j=1] = koniec[j];
            poczatek[j+1] = poczatwek[j];
            id[j+1] = id[j];
            j--;
        }

        koniec[j+1] = pom_koniec;
        poczatek[j+1] = pom_poczatek;
        id[j+1] = pom_id;
    }
}
void Wypisz(int koniec[], int poczatek[], string id[],
            int k)
{
    cout << id[k] << ": " << poczatek[k] << "-";
    cout << koniec[k] << endl;
}

void Wybierz(int koniec[], int poczatek [], string id[])
{
    int i, koniec_poprzedniego;

    Wypisz(koniec, poczatek, id, 0);
    koniec_poprzedniego = koniec[0];

    for (i=1; i<N; i++)
        if (poczatek[i] > koniec_poprzedniego)
        {

            wypisz(koniec, poczatek, id, i);
            koniec_poprzedniego = koniec[i];
        }
}
int main()
{
    int PN[] = {9, 16, 15, 18, 14, 10, 10, 13, 15, 18};
    int K[N] = {10, 17, 17, 21, 15, 14, 11, 14, 17, 20};
    string ID[N] = {"F0", "F1", "F2", "F3", "F4", "F5",
                   "F6", "F7", "F8", "F9"};

    cout << "Harmonogram festiwalu" << endl;
    for (int i=0; i<N; i++)
        wypisz(K, P, ID, i);

    cout << endl << "Wybrane filmy" << endl;
    Wybierz(K, P, ID);

    return 0;
}

 

2 odpowiedzi

+3 głosów
odpowiedź 21 lutego 2023 przez tangarr Mędrzec (154,860 p.)
Świetnie, że zamieściłaś zdjęcia książki. Są one dowodem, że nie próbujesz rozwiązać zadania bazując na czyjejś pracy.

Zacznij od stworzenia nowego projektu. Wybierz program konsolowy języka C++.

Potem uważnie przepisz kod z książki. Zauważ, że w książce brakuje ładowania bibliotek. Na pewno znajdziesz gdzieś wcześniej w książce co należy dodać aby korzystać ze strumienia cout. Klasa string i strumień cout znajdują się w przestrzeni nazw std. Musisz znaleźć w książce co trzeba zrobić, aby używać tych identyfikatorów bez nazwy przestrzeni nazw w której się znajdują. Ponadto nigdzie w kodzie nie jest zdefiniowana zmienna N. Proponuję utworzyć stałą zmienną globalną. Prawdopodobnie książka sugeruje użycie dyrektywy #define w celu utworzenia tej stałej. Ostateczna decyzja, którą metodę wybrać należy do ciebie.

Edit: Dopiero teraz zauważyłem, że próbujesz tworzyć osobne pliki z kodem dla każdej funkcji. Nie rób tego. Umieść cały kod w pliku main.cpp.
komentarz 21 lutego 2023 przez alazpodhala Nowicjusz (130 p.)
dziękuję bardzo za pomoc
0 głosów
odpowiedź 21 lutego 2023 przez wizarddos Nałogowiec (25,930 p.)
Z tego co widzę w tym momencie

- Nigdzie nie ma dyrektyw #include, więc je też powstawiaj

- W C nie ma klasy string ( .c to rozszerzenie języka C, .cpp jest dla C++. Więc je sobie podmień)
komentarz 21 lutego 2023 przez alazpodhala Nowicjusz (130 p.)
Czyli na początku tekstu wstawić w każdy plik #include?
komentarz 21 lutego 2023 przez wizarddos Nałogowiec (25,930 p.)
Nie tylko samo #include ale wszelkie biblioteki potrzebne (tu chyba potrzebne jest iostream ) Przy okazji masz jeszcze sporo błędów i kilka niezdefiniowanych zmiennych w kodzie
komentarz 21 lutego 2023 przez alazpodhala Nowicjusz (130 p.)

@wizarddos, w c czyli? przepraszam ale na ten moment nie pojmuję nawet o jakie c chodzi 

komentarz 21 lutego 2023 przez polandonion Mądrala (7,040 p.)
C jest to poprzednik jezyka C++
komentarz 21 lutego 2023 przez wizarddos Nałogowiec (25,930 p.)

O inny język programowania C

komentarz 21 lutego 2023 przez alazpodhala Nowicjusz (130 p.)
znów jakiś błąd...

komentarz 21 lutego 2023 przez adrian17 Ekspert (344,860 p.)

nie, cały czas ten sam.

- W C nie ma klasy string ( .c to rozszerzenie języka C, .cpp jest dla C++. Więc je sobie podmień)

Podobne pytania

0 głosów
2 odpowiedzi 228 wizyt
pytanie zadane 11 stycznia 2016 w C i C++ przez C☺ndzi Stary wyjadacz (12,100 p.)
0 głosów
2 odpowiedzi 1,754 wizyt
0 głosów
3 odpowiedzi 236 wizyt
pytanie zadane 5 grudnia 2015 w C i C++ przez Avernis Nałogowiec (27,400 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...