Funkcja porównująca leksykograficznie 2 stringi

0

witam
czy jest jakaś funkcja która porównuje 2 stringi leksykograficznie który jest większy, ? mam zadanie napisać taką funkcje ale c++ nigdy się nie uczyłem tylko javy a tam nie byłoby problemu, czy mam porównywać pozycje wyrazów z tablicy ascII czy istnieje jakaś gotowa funkcja?

2

Po prostu użyj <

3

Jakbyś wpisał hasło w google c++ porównanie leksykograficzne czyli uogólniając to samo co wpisałeś tutaj, otrzymasz taki wynik jako pierwszą pozycję https://riptutorial.com/pl/cplusplus/example/3820/porownanie-leksykograficzne

0

ok już rozumiem
mam jeszcze napisać funkcje zamieniająca małe litery na duże w stringu, zrobiłem coś takiego ale wyskakuje mi błąd
In function 'std::string upstr(std::string)':
[Error] 'std::string' has no member named 'lenght'

#include <iostream>
#include <string>
using namespace std;


string upstr (string st)
{
	string wynik = st;
	for(int i =0; i< wynik.lenght(); i++)
	{
		wynik[i] = toupper(wynik[i]);
	
	}
	return wynik;
	
	
}


int main() 
{
    
    cout<<upstr("ania");
    
    return 0;
}
0

zmieniłem lenght na size i już działa

1

@dark41: Jeśli decydujesz się na użycie toupper to można prościej

string upstr (string st)
{
    std::transform(st.begin(), st.end(), st.begin(), ::toupper);
    return st;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1