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

question-closed Zadanie w C z biblioteka STL

Aruba Cloud - Virtual Private Server VPS
0 głosów
776 wizyt
pytanie zadane 5 listopada 2017 w C i C++ przez Zeluss Nowicjusz (160 p.)
zamknięte 5 listopada 2017 przez Zeluss
Czesc i czolem, tresc zadania brzmi nastepujaco:

Pewien lingwista dostał za zadanie spisać wszystkie formy podstawowe wyrazów w pewnej gazecie. Oczywiście, ów lingwista ma swój własny słownik, w którym zawarte są pary wyrazów: wyraz odmieniony i forma podstawowa. Ostatnio dowiedział się, że ta gazeta jest również wydawana w wersji elektronicznej, dlatego poprosił ciebie o pomoc.

Wejście:
Pierwsza linia wejścia określa długość słownika n (0 <= n <= 200), a następnie pojawia się n par wyraz odmieniony-forma podstawowa. Ostatnie dwie linie wejścia, to liczba m (1 <= m <= 1000) określająca ilość wyrazów w gazecie oraz m wyrazów oddzielonych spacjami.

Wyjście:
Wyjście składa się z jednej linii, na którą składa się m wyrazów z gazety. Wyrazy odmienione, które znajdują się w słowniku są zamieniane na ich formy podstawowe.

Przykładowe wejście:
3
Ala Alicja
miala ma
kotka kot
6
Ala kiedys miala bardzo ladnego kotka

Przykładowe wyjście:
Alicja kiedys ma bardzo ladnego kot

 

Dobre dusze pomoga rozwiazac problem?
komentarz zamknięcia: Rozwiazanie spray
komentarz 5 listopada 2017 przez adrian17 Mentor (352,580 p.)
A w czym konkretnie masz problem?
komentarz 5 listopada 2017 przez Zeluss Nowicjusz (160 p.)
Jak deklarujesz to podajesz nazwę zmiennej o typie danej struktury

ale jesli nie wiesz ile razy będzie progrm musiał to zrobić.. i tu sie zatrzymałem

ogarniam, że chyba trzeba użyć tablicy, ale teraz mam łorningi, że w ostatnich printfach próbuję przekonwertować int na string, poki co jest tyle:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
struct zdanie
{
        char o[15], p[15], w[15];
};
int main(int argc, char *argv[]) {
    int n,i,m,cmp;
    struct zdanie pierwsze;
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {
        scanf("%s %s",pierwsze.o,pierwsze.p);
    }
    scanf("%d",&m);
        for (i=0;i<m;i++)
        {
            scanf("%s",pierwsze.w);
            cmp = strcmp(pierwsze.w,pierwsze.o);
            if (cmp == 0)
                printf("%s ",pierwsze.p[i]);
            else
                printf("%s ",pierwsze.w[i]);
        }
    printf("\n");    
    return 0;
}

Directed by KO.
komentarz 5 listopada 2017 przez adrian17 Mentor (352,580 p.)

z biblioteka STL

To to C czy C++? Bo Twój kod to C, ale biblioteka standardowa powszechnie nazywana "STL" jest w C++ie.

Directed by KO.

(?)

komentarz 5 listopada 2017 przez Zeluss Nowicjusz (160 p.)
Na przedmiocie programujemy w c caly czas, w zadaniu byla informacja "Wymagania:
W implementacji wykorzystaj odpowiedni kontener z biblioteki STL.". Czyli mowisz, ze zle wybralem i musze zacząć w cpp?

 

Oddanie hołdu pomocy koleżance, ale ona też nie dała rady rozwiazać zadania, nie ma nic związanego z kodem
komentarz 5 listopada 2017 przez adrian17 Mentor (352,580 p.)
Tak, to ewidentnie chodzi o C++.

Ani razu nie dotknęliście nawet czegoś w stylu `cout << 123` lub `vector<int>`?
komentarz 5 listopada 2017 przez Zeluss Nowicjusz (160 p.)
Pierwszy raz slysze o tym, jednak na algorytmach kodujemy w c, i inne zadania mam podobne i bez Biblioteki STL, wiec bez tego pewnie tez da sie zrobic
3
komentarz 5 listopada 2017 przez adrian17 Mentor (352,580 p.)
Lepiej pójść zapytać nauczyciela/prowadzącego zajęcia, bo ewidentnie doszło do jakiegoś nieporozumienia.

3 odpowiedzi

0 głosów
odpowiedź 5 listopada 2017 przez Wiciorny Ekspert (280,450 p.)
Właśnie w czym jest problem? Przecież nikt za ciebie zadania nie rozwiążę: mowa o STL- z C++ okej, oznacza to że możesz użyć gotowych "metod dla klas" z biblioteki stl. Np. LIST/KOLEJEK etc, a nie musisz ich sam implementować, tylko korzystać z gotowych funkcji.
komentarz 5 listopada 2017 przez Zeluss Nowicjusz (160 p.)
A gdybym STL nie zastosowal, czy droga do sukcesu bylaby mozliwa? Jakbym zostal nadal przy c?
komentarz 5 listopada 2017 przez Wiciorny Ekspert (280,450 p.)
tak tylko ...  stl ułatwia prace, tka musiałbys implementowac "funkcje- np dodania czegos do kontenera, usuwania czegos z kontenera" etc. sprawdzania czy jest pusty/ A tak wywołujesz gotowe metody które zwracaja ci wynik.
0 głosów
odpowiedź 5 listopada 2017 przez j23 Mędrzec (195,240 p.)

Nie wiem, czy dobrze rozumiem Twój problem. O to Ci chodzi:

struct word_pair
{
        char first[50];
        char second[50];
};

...    
    
scanf("%d",&n);

word_pair * dict = (word_pair*) malloc(sizeof(word_pair) * n);

for (i = 0; i < n; ++i)
{
        scanf("%s %s", dict[i].first, dict[i].second);
}

...

free(dict);
komentarz 5 listopada 2017 przez adrian17 Mentor (352,580 p.)

W implementacji wykorzystaj odpowiedni kontener z biblioteki STL.

komentarz 5 listopada 2017 przez Wiciorny Ekspert (280,450 p.)
to nie jest STL, kontenerem stl: bedzie lista, vektor np.. mapa zbiór ... itd więc jakaś "tablicowa" reprezentacja struktury danych do przechowania elementów. Kolejka także
komentarz 5 listopada 2017 przez j23 Mędrzec (195,240 p.)

@adrian17, tego komentarza nie widziałem, a w treści zadania nie ma nic na temat STL-a. Zasugerowałem się kodem, który podał.

0 głosów
odpowiedź 5 listopada 2017 przez Zeluss Nowicjusz (160 p.)
Ogarniete, zabraklo petli w petli i dodatkowego warunku, dziekuje za pomoc i nowa wiedze

Podobne pytania

0 głosów
4 odpowiedzi 3,837 wizyt
+1 głos
0 odpowiedzi 385 wizyt
pytanie zadane 2 stycznia 2018 w C i C++ przez bereseker Nowicjusz (130 p.)
0 głosów
1 odpowiedź 591 wizyt

93,327 zapytań

142,325 odpowiedzi

322,396 komentarzy

62,657 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...