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

Zamiana string na tablice int. Pomocy

Object Storage Arubacloud
0 głosów
627 wizyt
pytanie zadane 25 listopada 2020 w C i C++ przez rinsu Nowicjusz (170 p.)
Witam. Potrzebuje pomocy w zamianie zmiennej string na tablice int. Każda cyfra zapisana w tekście musi być zamieniona cyfry w int. Kiedyś jakoś to robilem z użyciem ascii ale nie pamiętam już jak. Próbowałem też z użyciem atoi ale nie potrafie tego poprawnie użyć. Dzięki wielkie za pomoc.
komentarz 25 listopada 2020 przez wizarddos Nałogowiec (25,930 p.)
dasz kod swój?
komentarz 25 listopada 2020 przez tkz Nałogowiec (42,000 p.)
Przecież napisał, że nic nie ma, bo nie pamięta jak kiedyś to zrobił.
1. Tablica długości stringa.
2. Iterujemy po stringu i przypisujemy do indeksu tablicy, ten plus, że to i to zaczyna się od 0.
Właściwie tyle.
komentarz 25 listopada 2020 przez rinsu Nowicjusz (170 p.)
Aktualnie nic już nie mam w tym kodzie, mam tylko wprowadzenie z klawiatury i nieudolną próbę zamiany.

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

int main()
{
    string pesel;
    int pesel1,n,i;
    int x[12];
    cout << "Podaj swoj pesel" << endl;
    cin>>pesel;
    n=pesel.length();
    for(i=0;i<n;i++)
    {
        x[i]=pesel[i];
    }
komentarz 25 listopada 2020 przez wizarddos Nałogowiec (25,930 p.)
stringa na int'a się nie skonwertuje (Z tego co wiem).
1
komentarz 25 listopada 2020 przez tangarr Mędrzec (154,860 p.)
Jeżeli string zawiera liczbę to możesz go sparsować aby wyciągnąć z niego wartość liczbową.
1
komentarz 25 listopada 2020 przez tkz Nałogowiec (42,000 p.)
Nawet jak nie ma liczby, to i tak możesz rzutować go na cyfry.
komentarz 25 listopada 2020 przez wizarddos Nałogowiec (25,930 p.)
dobrze wiedzieć

1 odpowiedź

+1 głos
odpowiedź 25 listopada 2020 przez tangarr Mędrzec (154,860 p.)
1. Wczytujesz napis
2. Tworzysz tablicę/wektor o rozmiarze długości napisu
3. Iterujesz po wszystkich znakach napisu
- sprawdzasz czy znak jest cyfrą (tzn. czy jest w zakresie '0'-'9')
- aby uzyskać wartość reprezentowaną przez znak odejmij od niego wartość znaku '0'
komentarz 25 listopada 2020 przez rinsu Nowicjusz (170 p.)
Co to znaczy że mam odjąć wartość znaku zero?
1
komentarz 25 listopada 2020 przez tangarr Mędrzec (154,860 p.)

Nie znaku zero. Tylko znaku reprezentującego zero (czyli zmienna char '0').

Spójrz na tablicę znaków ASCII https://pl.wikipedia.org/wiki/ASCII

Znak zero ma wartość 48.

char moja_cyfra = '7';
int test1 = moja_cyfra;
int test2 = moja_cyfra - '0';

cout << "test1=" << test1 << endl;
cout << "test2=" << test2 << endl;

 

komentarz 25 listopada 2020 przez rinsu Nowicjusz (170 p.)

Dziękiwink

Podobne pytania

0 głosów
2 odpowiedzi 224 wizyt
+1 głos
2 odpowiedzi 188 wizyt
0 głosów
0 odpowiedzi 1,087 wizyt

92,580 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,965 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...