Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5 introduce Dynamic Multi Frame Generation e MFG 6X, permettendo fino a cinque frame generati per ogni frame renderizzato. I test su Cyberpunk 2077 e 007 First Light mostrano forti incrementi di FPS e riduzione della latenza su RTX 5090 Laptop. Migliorano fluidità, stabilità e qualità visiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-11-2011, 20:50   #1
seph89
Junior Member
 
Iscritto dal: Nov 2011
Messaggi: 1
[C] Somma in colonna di elementi di 2 array

Ciao a tutti,
Volevo chiedere a qualcuno più esperto di me se mi può aiutare a risolvere questo esercizio(è abbastanza urgente xk ne ho bisogno per un compito imminente):
L utente deve inserire due numeri interi positivi A e B, composti da un numero arbitrario di cifre (non necessariamente il medesimo per ambedue) e memorizzati, cifra per cifra, all'interno di due array separati.
Quindi bisogna scrivere un programma che esegue l addizione in colonna di A e B utilizzando un altro array per memorizzare cifra per cifra il risultato.
Esempio:

| | |5|6|5|4|
| | | |2|3|8|
Risultato:
| | |5|8|9|2|

Al termine dell'addizione, il programma dovrà visualizzare sia gli array relativi agli operandi che quello relativo al risultato dell'addizione.
I numeri a, b e il risultato della loro somma devono essere memorizzati, cifra per cifra, in array separati. Gli array devono essere popolati scomponendo due numeri inseriti dall'utente (usando questo metodo
int n, i, j;
int array[MAX_SIZE];
int cifre;

printf("Inserire il valore di n: ");
scanf("%d", &n);

///determina il numero delle cifre
cifre = log10(n) + 1;

///scompone il numero e lo memorizza nell'array
for (i=0; i < cifre; i ++)
array[i] = (n % (int)pow(10, i+1))/pow(10,i);

///stampa l'array elemento per elenmeto
for (i=cifre-1; i >= 0; i --)
printf("%d ", array[i]);;

Gli input devono essere verificati, ossia a e b devono essere positivi (maggiori di zero) e devono poter essere memorizzati nei rispettivi array interamente. La somma va calcolata come se si stesse lavorando manualmente, cifra dopo cifra; NON è considerata una soluzione valida quella in cui vengono ricalcolati i valori originali di a e b, ne viene eseguita la somma e successivamente questa viene scomposta e memorizzata nell'array corrispondente. Il programma deve funzionare correttamente anche nel caso in cui a e b non abbiano il medesimo numero di cifre.

Se possibile, mi aiuterebbe di più se usaste funzioni base del C visto che non sono ancora esperto.

Questo è quello che sono riuscito a fare io per ora. Purtroppo però cosi facendo sto riutilizzando l array_a e nn va bene. Inoltre se sommo un numero di 2 cifre con uno di 3 cifre una mi viene come mangiata.

#include <stdio.h>
#include <math.h>

#define MAX_SIZE 10

int main () {

//dichiarazione variabili
int a, b; //2 numeri inseriti dall utente
int array_a [MAX_SIZE];
int array_b [MAX_SIZE];
int risultato [MAX_SIZE]; //array per la memorizzazione del risultato
int i, cifre;

do {
//input
printf ("Inserire il valore di a: ");
scanf("%d", &a);
printf ("Inserire il valore di b: ");
scanf("%d", &b);
}
while (a <= 0 || b <= 0);

//determina il numero delle cifre
cifre = log10(a) + 1;

//scompone il numero a e lo memorizza nell'array
for (i = 0; i < cifre; i ++)
array_a[i] = (a % (int)pow(10, i+1))/pow(10,i);

//stampa l'array_a elemento per elemento
for (i = cifre-1; i >= 0; i --)
printf("%d ", array_a[i]);
printf("+\n");
//scompone il numero b e lo memorizza nell'array
for (i = 0; i < cifre; i ++)
array_b[i] = (b % (int)pow(10, i+1))/pow(10,i);

//stampa l'array_b elemento per elemento
for (i = cifre-1; i >= 0; i --)
printf("%d ", array_b[i]);

printf("=\n");
for(i = 0; i < MAX_SIZE; i++ ){
risultato[i] = array_a[i] + array_b[i];
if (risultato[i] > 9)
{
risultato[i] %=10;
array_a[i+1]++;
}

}
//determina il numero delle cifre del risultato
cifre = log10(a) + 1;

//scompone il risultato e lo memorizza nell'array
for (i = 0; i < cifre; i ++)
array_a[i] = (a % (int)pow(10, i+1))/pow(10,i);

//stampa il risultato elemento per elemento
for (i = cifre-1; i >= 0; i --)
printf("%d ", risultato[i]);
printf("\n");


return 0;
}

Ultima modifica di seph89 : 17-11-2011 alle 20:59.
seph89 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
FASTCloud Open Source: un cloud sovrano ...
AMD non lascia spazio a Intel: la top 15...
iPhone 17 torna protagonista su Amazon: ...
PowerToys si aggiorna alla versione 0.10...
La nuova Audi Q7 proietta le frecce sull...
Framework blocca tutto: Laptop 13 Pro no...
SSD, Biwin investe oltre metà del...
Samsung Trend Radar 2026: smartphone e s...
Enel entra nella telefonia mobile: il vi...
Arriva il menu contestuale aggiornato di...
GM punta sulle batterie al sodio per lo ...
Instagram amplia il controllo sull'algor...
Jason Wild: "Siamo bravissimi a ris...
Razer BlackShark V2 X a 34,99€: cuffie e...
d-Matrix avvia la produzione di Corsair:...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v