Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-11-2011, 21: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 21:59.
seph89 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
Cowboy Space Corp. presenta il suo razzo...
Per NetSuite il vantaggio nell'IA sta ne...
Scoperta la zona d'origine del segnale W...
La Stazione Spaziale Internazionale cont...
La Difesa statunitense ha pubblicato la ...
vivo X500 Pro e Pro Max ufficiali: tanta...
iOS 27.2: l'iPhone chiede ai numeri scon...
Final Cut Pro integra MotionVFX e Apple ...
iMac M6 da 1.829 euro, MacBook Pro 14 M6...
RayNeo GT a 313,65€ su Amazon: occhiali ...
NVIDIA e Meta: 3 miliardi di dollari e p...
PHP2Shell: sfruttate attivamente le due ...
Raffreddamento passivo senza elettricità...
La deforestazione in Amazzonia crolla a ...
La luce del sole a mezzanotte, ecco come...
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: 05:53.


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