Witam mam problem z kodem który skleiłem ponieważ cały czas pojawiają się te same błędy pomiędzy wektorami a intami czy ktoś wie jak to rozwiązać? Jestem mało doświadczony więc prosiłbym o nienabijanie się z tego przeraźliwego kodu bo sam nie wiem jak on zadziała:/
Kod ma wczytać ilość cyfr zależną od p i je odwrócić na koniec wypisując.
|22|error: no match for call to '(std::vector<int>) (int&)'|
|35|error: cannot convert 'std::vector<int>' to 'int' for argument '1' to 'int odwroc(int)'|
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int p;
vector<int> licz(1+p);
vector<int> liczod(1+p);
int odwroc(int licz)
{
for(int z=0; z<p; z++)
{
int LiczbaCyfr = floor(log10(licz)+1);
int k = 0;
for(int i=0; i<LiczbaCyfr; i++)
{
k+=pow(10.0, LiczbaCyfr -1 -i)*(licz%10);
licz=licz/10;
}
return liczod(z);
}
}
int main()
{
cin>>p;
for(int i=0; i<p; i++)
{
cin>>licz[i];
}
for(int i=0; i<p; i++)
{
cout<<odwroc(liczod)<<endl;
}
return 0;
}
Górna funkcję znalazłem w internecie skopiowałem i przekształciłem jednak z tego co widzę niewłaściwie. Kod tego co znalazłem.
int reverse (int n)
{
int LiczbaCyfr = floor( log10(n)+1);
int k = 0;
for( int i=0; i<LiczbaCyfr; i++)
{
k+=pow(10, LiczbaCyfr - 1 - i )*(n%10);
n=n/10;
}
return k;
}