- 253
- 53
- CPU
- Ryzen 5 5600
- Dissipatore
- Be-quite dark rock
- Scheda Madre
- Asus rog strix B550-F
- RAM
- DDR-4 16GB corsair 3600MHz
- GPU
- AMD RX6800xt
Salve a tutti, sto riprendendo C++ per vari motivi, stavo facendo qualche esercizietto per rinfrescarmi un pò.
Uno dei primi che ho trovato è stato questo:
Es1)Inserire un numero intero positivo e stamparlo con le cifre invertite
Allora la soluzione più immediata che mi veniva in mente, sarebbe stata quella di prendere il numero, metterlo in un array, invertire l'array e restituire il numero, so che è un poco macchinoso e super inefficiente ma vorrei provare questa soluzione per rispolverare alcuni concetti perchè molte cose non le ricordo. Quindi stavo provando su questa strada ma così ma non funziona nulla praticamente. Cioè il numero di cifre viene calcolato e restituito ma quando vado a visualizzare l'array ho come risultato un numero errato rispetto a quello immesso da tastiere, ad esempio se metto 453 mi esce:
"-1163005939-5-5-".
(Modifica)
Allora ho provato ad eseguire questo codice sia su dev c++ che su un compiler online e funziona, non mi da quel numero strano, premetto che stavo provando a compilarlo con visual studio code
Uno dei primi che ho trovato è stato questo:
Es1)Inserire un numero intero positivo e stamparlo con le cifre invertite
Allora la soluzione più immediata che mi veniva in mente, sarebbe stata quella di prendere il numero, metterlo in un array, invertire l'array e restituire il numero, so che è un poco macchinoso e super inefficiente ma vorrei provare questa soluzione per rispolverare alcuni concetti perchè molte cose non le ricordo. Quindi stavo provando su questa strada ma così ma non funziona nulla praticamente. Cioè il numero di cifre viene calcolato e restituito ma quando vado a visualizzare l'array ho come risultato un numero errato rispetto a quello immesso da tastiere, ad esempio se metto 453 mi esce:
"-1163005939-5-5-".
(Modifica)
Allora ho provato ad eseguire questo codice sia su dev c++ che su un compiler online e funziona, non mi da quel numero strano, premetto che stavo provando a compilarlo con visual studio code
C++:
#include<iostream>
using namespace std;
int calcolaCifre(int num){
int ncifre=0;
while(num>0){
num = num /10;
ncifre++;
}
return ncifre;
}
void inizializzaVettore(int vett[], int nc, int numero){
int temp = numero;
for (int i= nc-1; i>=0; i--){
vett[i]= temp%10;
temp /= 10;
}
}
void visualizzaVettore(int vett[], int nc){
for(int i=0; i<nc; i++){
cout<<vett[i]<<"-";
}
}
int main(){
long int num;
int cifre;
cout<<"Inserisci un numero intero: "<<endl;
cin>>num;
int ncifre = calcolaCifre(num);
//ARRAY CARICATO DINAMICAMNTE
int *vett = new int[ncifre];
inizializzaVettore(vett, ncifre, num);
visualizzaVettore(vett, ncifre);
}
Ultima modifica: