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

Zwracanie tablicy stringów, dlaczego mój kod nie działa?

0 głosów
418 wizyt
pytanie zadane 6 lutego 2018 w C i C++ przez piotrrussw Nowicjusz (240 p.)

Funkcja otrzymuje docelowo dodatnią liczbę całkowitą (n) i system liczbowy (p), ma zwrócić liczbę n w systemie p, jako string. Ktoś mi powie dlaczego, to nie chce działać, bo kompletnie nie rozumiem?

#include <iostream>
#include <string>

using namespace std;

string funkcja(unsigned int, unsigned int);

int main()
{


	unsigned int n, p;
	cout << "Podaj liczbe: ";
	cin >> n;
	cout << "Podaj podstawe systemu: ";
	cin >> p;
	cout << n << " = ";

	cout << funkcja(n,p) << " w systemie " << p << endl;

    return 0;
}


string funkcja(unsigned int n , unsigned int p )
{

    int pom=n;
    int licz=0;
    while(pom>0)
    {
        pom/p;
        licz++;
    }
    int *tab=new int [licz];
    int a=n;
    for(int i=0; i<licz; i++)
    {
        tab[i]=n%a;
        a=n/p;
        n/=p;

    }
    string tablica;
    int j=0;
    for(int i=(licz-1); i>0;j++, i--)
    {
        tab[i]=tablica[j];
    }
    delete [] tab;
    return tablica;
}

 

1 odpowiedź

0 głosów
odpowiedź 6 lutego 2018 przez Bondrusiek Maniak (61,460 p.)

Witam,

tak pobieżnie pacząc to chcesz przypisać typ std::string do int

...
int *tab = new int[licz]
...
string tablica;
...
tab[i] = tablica[j];
...

Od C++11 możesz wykorzystać funkcje to_number()

int number = 123;
string text = to_string(number);

 

Podobne pytania

0 głosów
2 odpowiedzi 705 wizyt
pytanie zadane 25 sierpnia 2015 w C i C++ przez k222 Nałogowiec (30,150 p.)
0 głosów
1 odpowiedź 473 wizyt
0 głosów
2 odpowiedzi 253 wizyt
pytanie zadane 17 kwietnia 2018 w C i C++ przez KotDrewniany Początkujący (250 p.)

93,742 zapytań

142,680 odpowiedzi

323,299 komentarzy

63,329 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...