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

Optymalizacja programu łańcuchy (C++)

Aruba Cloud - Virtual Private Server VPS
0 głosów
181 wizyt
pytanie zadane 28 kwietnia 2018 w C i C++ przez Sic Dyskutant (8,510 p.)

Witam napisałem program, w którym głównym aspektem są łańcuchy czy istnieją funkcje wbudowane na optymalizacje tego kodu ? (Proszę o podpowiedź, chcę sam spróbować je wykorzystać).

#include <iostream>

//typy funkcji mogą rożnić się od typów parametrów

int fun_1 (char * x, int licz); //funkcja zawierajaca łańcuch jako parametr
char * lan (char y, int cyfra);//funkcja zwaracaja wskaznik, adres łańcucha

int main()
{
        // I pierwsza funkcja
        
        char slowo[12] = "amazonka";
        int ps = fun_1(slowo, 'a');
        std::cout << "Litera \"a\" wystepuje " << ps << " w slowie " << slowo;

        // II druga funkcja
        
        std::cout << "\n\n\n\n";

        int zlicza;
        char litera;                 

        std::cout << "Podaj znak: "; 
        std::cin >> litera;          
        std::cout << "Dlugos lancucha: ";                                  
        std::cin >> zlicza;          
        char * ww = lan(litera, zlicza);                                   
        std::cout << ww << std::endl;                                      
        return 0;                    
}                                    

int fun_1(char * x, int licz)//zlicza wystapienie znaku licz               
{                                    
        int zwieksza = 0;            
        while(*x) // petla konczy sie gdy *x jest rowne '\0'   
        {
                if(*x == licz)
                        zwieksza++;
                *x++; // musi byc..przesuwa wskaznik na nastepny znak
        }
        return zwieksza ;       
}

char * lan (char y, int cyfra)//tworzenie łańcucha znaku z cyfra z wystapiem znaku y
{                               
        char * gr = new char [cyfra +1];
        gr[cyfra] = '\0';
        while(cyfra-- > 0)
                gr[cyfra] = y;

        return gr;      
}

 

1
komentarz 28 kwietnia 2018 przez Hiskiel Pasjonat (22,830 p.)
polecam zainteresować się strlen. I chyba std::count z algorithm. (Nie pamiętam, czy przyjmuje char*)
1
komentarz 28 kwietnia 2018 przez adrian17 Mentor (352,580 p.)

(Nie pamiętam, czy przyjmuje char*)

(przyjmuje iteratory, a wskaźnik jest wzorcowym przykładem iteratora - więc tak)

1
komentarz 28 kwietnia 2018 przez Hiskiel Pasjonat (22,830 p.)
Dzięki.
komentarz 28 kwietnia 2018 przez Sic Dyskutant (8,510 p.)

@Swipeyro,

Dzięki, sprawdzę.

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

Podobne pytania

+2 głosów
1 odpowiedź 5,619 wizyt
+1 głos
2 odpowiedzi 263 wizyt
0 głosów
1 odpowiedź 130 wizyt
pytanie zadane 13 lutego 2020 w C i C++ przez amtrax Dyskutant (9,630 p.)

93,324 zapytań

142,323 odpowiedzi

322,390 komentarzy

62,653 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!

...