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

question-closed cpp zmiana z duzych liter na malych

42 Warsaw Coding Academy
0 głosów
3,439 wizyt
pytanie zadane 28 marca 2020 w C i C++ przez Eriss69 Gaduła (4,470 p.)
zamknięte 26 kwietnia 2020 przez Eriss69

 

mam kod i nie wiem co dalej z nim zrobic :/ Mam zmienic z duzych liter na małe, uzyc "tolower" ?

#include <iostream>
#include <string>
using namespace std;
char word;
string toLower(const string& str)
{
	for (int i = 0; i < word.Length() + 1; i++)
	{
		
	}
	//tutaj kod
}
int main()
{
	string word;
	cout << "Podaj słowo: ";
	cin >> word;
	cout << toLower(word) << endl;
	return 0;
}

 

komentarz zamknięcia: Uzyskałem odpowiedz

3 odpowiedzi

0 głosów
odpowiedź 28 marca 2020 przez DragonCoder Nałogowiec (36,500 p.)

wynajdujesz kolo ood nowa, jesli chcesz to zrobic z caly stringiem to zrob to przy pomocy

http://www.cplusplus.com/reference/cctype/tolower/

std::cout << "Podaj slowo: ";
    std::string slowo;
    std::cin >> slowo;

    for (int i = 0; i < slowo.size(); i++) {
        slowo[i] = tolower(slowo[i]);
    }
    std::cout << slowo;

oczywiscie mozesz ja napisac sam, wtedy konwertujesz sobie kazdy znak na int patrzysz jaka jest roznica miedzy malym "a", a duzym. Dodajesz ta roznice do kazdego znaku i zamieniasz spowrotem na char

0 głosów
odpowiedź 28 marca 2020 przez SimiVoid Pasjonat (19,790 p.)

Są na to dwie metody. Albo wykożystujesz algorytm std::transform z biblioteki algorithm:

std::transform(str.begin(), str.end(), str.begin(), ::tolower);

Druga metoda to sprawdzenie czy dany znak jest dużą literą jak tak o zwiększenie wartości kodu ascii o 32

komentarz 28 marca 2020 przez Eriss69 Gaduła (4,470 p.)
#include <iostream>
#include <string>
using namespace std;
char word;
string toLower(const string& str)
{
    while (word != '.')
    {
        if (word > 95)
        {
            cout << (word + 32);

        }
    }
}
int main()
{
    string word;
    cout << "Podaj słowo: ";
    cin >> word;
    cout << toLower(word) << endl;
    return 0;
}

Tylko tolower musi zwracac wartosc? nie wiem co teraz

0 głosów
odpowiedź 28 marca 2020 przez Eriss69 Gaduła (4,470 p.)
#include <iostream>
#include <stdio.h>
#include <ctype.h>
using namespace std;
string toLower(const std::string& str)
{
    char word;
    int i = 0;
    while (str[i])
    {
        word = str[i];
        putchar(tolower(word));
        i++;
    }

}
int main()
{

    string word;
    cout << "Podaj słowo: ";
    cin >> word;
    cout << toLower(word) << endl;
  
    return 0;
}

I tolower musi zwraacac wartosc o co chodzi?

komentarz 28 marca 2020 przez DragonCoder Nałogowiec (36,500 p.)
popatrz na moj komentarz i masz gotowa odp
komentarz 28 marca 2020 przez Eriss69 Gaduła (4,470 p.)

spoko spoko tylko toLower musi zwracac wartosc :P 



Zmienia wszystkie litery na małe
potem odpal je w mainie
z danymi od użytkownika

no tak, załóżmy, że masz funkcję:
// Zamienia wszystkie litery na małe
std::string toLower(const std::string& str)
{
    // tutaj kod
}

int main()
{
    std::string word;

    std::cout << "Podaj slowo: ";
    std::cin >> word;

    std::cout << toLower(word) << std::endl;

    return 0;
}

budowa programu a popatrz na to co napisales :p

komentarz 28 marca 2020 przez DragonCoder Nałogowiec (36,500 p.)

1. nikt nie mowil, ze Twjoa funkcja ma byc uzyta, przez co napisales, ze wynalezienie kola na nowo, nie ma sensu

2. wystarczy przekopiowac moja petle i po sprawie:

std::string toLower(const std::string& str)
{
for (int i = 0; i < str.size(); i++) {
    str[i] = tolower(str[i]);
    }
  return str;
}
 
3. Skor onauczyciel, czy wykladowca oczekuje takiej formy programu, to oczekuje rowniez wlasnej implementacji opierajacej sie na ASCII, a nie na gotowej funkcji. Tak samo napisalem jak to sie odbywa i kolega wyzej rowniez

Podobne pytania

0 głosów
1 odpowiedź 1,338 wizyt
pytanie zadane 6 stycznia 2020 w C i C++ przez sokoll22 Nowicjusz (150 p.)
+1 głos
6 odpowiedzi 1,333 wizyt
pytanie zadane 1 stycznia 2016 w C i C++ przez robert9620 Stary wyjadacz (11,640 p.)
0 głosów
1 odpowiedź 12,902 wizyt
pytanie zadane 25 października 2016 w C i C++ przez mistrzuniu1 Użytkownik (600 p.)

93,377 zapytań

142,379 odpowiedzi

322,526 komentarzy

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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...