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

Zamiana malych liter na duze - Funkcja c++

0 głosów
13,106 wizyt
pytanie zadane 25 października 2016 w C i C++ przez mistrzuniu1 Użytkownik (600 p.)

Moim zadaniem jest wczytanie stringa i zamiana w nim małych liter na duze. Jestem na etapie gdzie do funkcji wczytuje się string i "w srodku funkcji" wszystko działa poprawnie, problem jest jedynie w zamianie zmiennej "ze srodka funkcji" na ta, ktora wpisywalem z klawiatury.

#include <iostream>

using namespace std;
void zmiana(string ciag)
{ int i=0;

    while(ciag[i]!=0)
    {
       if (ciag[i]>96 && ciag[i]<122)
       {
           ciag[i]=(ciag[i]-32);
       }
       i++;
    }
cout<<ciag<<endl;
}

int main()
{
    string znaki;
    cin>>znaki;
    zmiana(znaki);
    cout<<znaki;

    return 0;
}

Jak zrobić, by "ciag" stal się "znaki"?

komentarz 25 października 2016 przez unknown Nałogowiec (39,560 p.)
Dlaczego nie użyjesz funkcji transform?
komentarz 25 października 2016 przez mistrzuniu1 Użytkownik (600 p.)
Uczę się programować, więc robię sobie funkcję "ręcznie" ;)

1 odpowiedź

+1 głos
odpowiedź 25 października 2016 przez niezalogowany
wybrane 25 października 2016 przez mistrzuniu1
 
Najlepsza

Nie wiem czy dobrze zrozumiałem, chcesz przypisać zmienna ciąg do zmiennej znaki, tak?

1. Przekaż stringa przez referencję:

void zmiana(string & ciag)
{ int i=0;
 
    while(ciag[i]!=0)
    {
       if (ciag[i]>96 && ciag[i]<122)
       {
           ciag[i]=(ciag[i]-32);
       }
       i++;
    }
cout<<ciag<<endl;
}

2. Zmień funkcję tak, że będzie zwracała zmienną ciąg i przypisz do zmiennej znaki:

#include <iostream>
 
using namespace std;
string zmiana(string ciag)
{ int i=0;
 
    while(ciag[i]!=0)
    {
       if (ciag[i]>96 && ciag[i]<122)
       {
           ciag[i]=(ciag[i]-32);
       }
       i++;
    }
cout<<ciag<<endl;
return ciag;
}
 
int main()
{
    string znaki;
    cin>>znaki;
    znaki = zmiana(znaki);
    cout<<znaki;
 
    return 0;
}

Mam nadzieję, że pomogłem :D

komentarz 25 października 2016 przez mistrzuniu1 Użytkownik (600 p.)
Super! Dziękuje bardzo.

Podobne pytania

0 głosów
1 odpowiedź 1,449 wizyt
pytanie zadane 6 stycznia 2020 w C i C++ przez sokoll22 Nowicjusz (150 p.)
0 głosów
3 odpowiedzi 3,882 wizyt
pytanie zadane 28 marca 2020 w C i C++ przez Eriss69 Gaduła (4,470 p.)
0 głosów
2 odpowiedzi 718 wizyt
pytanie zadane 10 marca 2018 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)

93,632 zapytań

142,558 odpowiedzi

323,058 komentarzy

63,141 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2523p. - Maurycy W
  9. 2459p. - CC PL
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1851p. - Mariusz Fornal
  13. 1811p. - rafalszastok
  14. 1600p. - Rafał Trójniak
  15. 1588p. - Tomasz Bielak
Szczegóły i pełne wyniki

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

Kursy INF.02 i INF.03
...