matematykaszkolna.pl
c++ Metis: Dziadku Zajrzyj tutaj gdy będziesz miał chwilę. Mam do napisania program, który z podanego tekstu usunie cyfry. Piszę więc: #include "stdafx.h" #include <iostream> #include <conio.h> #include <string> using namespace std; string tekst; int x; void menu() { cout << "Podaj swoj tekst" << endl; getline(cin, tekst); x = tekst.length(); } int main() { menu(); getch(); } Teraz mam pomysł na puszczenie pętli to kolejnych komórkach tablicy. Nie wiem tylko jak w warunku zapisać, że jeśli w danej komórce znajduje się zmienna typu int to ma ją usunąć.
17 sty 03:58
Metis: Napisałem coś takiego z pomocą stackoverflow: #include "stdafx.h" #include <iostream> #include <conio.h> #include <string> using namespace std; string tekst; int x; void cyfry() { for (int i = 0; i < x; i++) { if (isdigit(tekst.at(i))) { string::iterator y; y = tekst.begin() + i; tekst.erase(i); break; } } cout << tekst; } void menu() { cout << "Podaj swoj tekst" << endl; getline(cin, tekst); x = tekst.length(); cyfry(); } int main() { menu(); getch(); } Możesz mi wyjaśnić cały ten warunek? if (isdigit(tekst.at(i))) { string::iterator y; y = tekst.begin() + i; tekst.erase(i); break; }
17 sty 04:15
Dziadek Mróz: skoro tablica char to znaki 0−9 to cyfry if (tab[i] >= '0' and tab[i] <= '9') // nie kopiujesz do wyniku else // kopiujesz tab[i] do wyniku
17 sty 05:18
Metis: No tak, Dziadku, ale mam je usunąć, a skopiowanie chyba nic mi nie da.
17 sty 06:13
Dziadek Mróz: tekst.erase(i)
17 sty 09:16
Metis: Ok, już rozumiem emotka
17 sty 10:32