array-vettore monodimensionale-informatica-c++?
ciao a tutti.
vorrei dei chiarimenti su quanto riguarda l'array nel linguaggio c++:

1) innanzi tutto vorrei sapere come si inizializza. 
devo già sapere di quante caselle è composto il vettore, e quindi scrivere ' vet[10] ' (per esempio)
oppure posso inizializzare non sapendo di quante caselle è composto il vettore, scrivendo quindi 
' vet[n] ' 
[[stampando quindi cout<<"inserisci lunghezza vettore";
cin>>n;
for(i=0; i<n; i++) ]]

2) quando ho inserito i valori del vettore, per esempio 5 valori come faccio a stamparli a video?
per esempio cout<<"i valori inseriti sono.....";
e se volessi fare una somma, sottrazione o media.... come dovrei fare?

dunque: qualcuno mi farebbe un programma stupido per chiarirmi bene le idee fondamentali dell'array monodimensionale? grazie:

magari potreste farmi un programma con queste consegne:

inseriti 'n' numeri dell'array: 
-mostrarli a video
-fare la media e mostrare la media dell'array

grazie a chi mi aiuta ^\_^ ovviamente 10 punti a chi fa il programma piu' semplice da capire e corretto! grazie ^\_^
1)per inizializzare un array ci sono due modi, il primo in maniera costante mettendo i valori tra due graffe separati da una virgola

int vett[3]={1,2,3};

il secondo è quello di accedere alle singole locazioni e inizializzarle come fosse una qualsiasi variabile fondamentale immettendo i dati da tastiera(o con una qualche funzione o artificio per dare i giusti valori alle celle)

int vett[3];
for(int a=0;a<3;a++)
cin>>vett[a];

puoi renderlo anche automatico come hai fatto te, inserendo la lunghezza da tastiera(se a lunghezza variabile)
ricorda che se un vettore ha dimensione n ha n-1 celle(ne ha n però è compreso lo zero quindi l'ultima cella stà in posizione n-1, se guardi il ciclo for qui sopra ho inserito la condizione finchè a<3 non a<=3)

2)per stampare i valori basta che accedi alle celle del vettore come hai fatto per l'inizializzazione, ricorda che un vettore non sono altro che una serie di variabili a cui accedi con un indice int vett[3] è equivalente ad avere 3 variabili int, e come tale ti comporti, se le vuoi mostrare a video devi usare la funzione cout per tutte le celle(puoi anche usare solo il nome del vettore e il cout ti dà tutto il contenuto del vettore ma ha bisogno di condizioni più restrittive)

for(int a=0;a<3;a++)
cout<<vett[a]<<' ';
cout<<endl;

cout<<vett<<endl;//qui non sono compresi spazi tra i valori(molto utile per le stringhe)

per farci delle operazioni vale la stessa cosa che ho detto prima è come lavorare con normalissime variabili solo che ci accedi con un indice quindi ti devicomportare di conseguenza


eccoil programma:

#include <iostream>
using namespace std;
int main(){
int n;
int media(0);
do{
cout<<"inserisci lunghezza vettore: ";
cin>>n;
if(n<0){
cout<<"dimensione errata"<<endl;
system("pause");
system("cls");
}
}while(n<0);
int vett[n];//alcuni ide non lo accettano in tal caso: int* vett=new int[n];
for(int a=0;a<n;a++){
cout<<"inserisci valore nella "<<a+1<<"* cella: ";
cin>>vett[a];
}
for(int a=0;a<n;a++){
cout<<a+1<<"* cella: "<<vett[a]<<endl;
media+=vett[a];
}
media/=n;
cout<<"media valori: "<<media<<endl;
system("pause");
return 0;
}



se qualcosa non è chiaro scrivi

********************
hai ragione anche te xd mi sono dimenticato di dividere per n, quella che ho fatto è solo la somma di tutti gli elementi, l'ho aggiustato
<p>il modo standard è con <code>wc</code>, che accetta argomenti per specificare cosa dovrebbe contare (byte, caratteri, parole, ecc.); <code>-l</code> è per le righe:</p><pre><code>$ wc -l file.txt 1020 file.txt </code></pre> Se vuoi una rappresentazione testuale dell'espressione e non ti interessa come appare esattamente, puoi usare `ToString()` . Tutti i tipi di [`Expression`](http://msdn.microsoft.com/en-us/library/system.linq.expressions) sostituiscono questo metodo. 

 Ad esempio, per l'espressione semplice `num => num < 5` , `ToString()` restituisce `num => (num < 5)` . Ma per espressioni più complicate, non sembra più il codice C #. Ad esempio, per `num => num < Math.Pow(5,5)` , restituisce `num => (Convert(num) < Pow(5, 5))` . Buongiorno,


se per lastra di vetro intende dire che la lastra è l'ante della porta, allora a mio avviso, lei sta impostando il discorso in modo poco pratico. Fa molto prima ad acquistare una porta in vetro da un venditore che la fornisce già completa di tutto il sistema di montaggio.


Ragionando per singole componenti spende sicuramente molto di più e non avrà mai un risultato di qualità, come quello che può esser garantito da una produzione industriale. Prova [EF6 CodeFirst Visualizza modello di generazione T4 per C #](http://visualstudiogallery.msdn.microsoft.com/18a7db90-6705-4d19-9dd1-0a6c23d0751f) . Le viste pre-generate migliorano il tempo di avvio dell'applicazione spostando il lavoro che dovrebbe essere eseguito in fase di esecuzione per progettare il tempo. [Ulteriori informazioni](http://blog.3d-logic.com/2013/10/17/ef6-codefirst-view-generation-t4-template-for-c-updated-for-ef6-rtm/) spiegazione la regola del parallelogramma permette di individuare graficamente la somma o la differenza di due qualsiasi vettori del piano o dello spazio euclideo.   prima variante della regola del parallelogramma - con una traslazione facciamo in modo che le origini dei due vettori vec {u} e vec {v} coincidano; - costruiamo poi un parallelogramma avente come lati i due vettori; - il vettore somma vec {i}+ vec {v} sarà la diagonale del parallelogramma uscente dall'origine comune; - il vettore differenza vec {u}\_ vec {v} è invece l'altra diagonale del parallelogramma ed avrà come origine la punta del secondo vettore. seconda variante della regola del parallelogramma - trasliamo il vettore  vec {v} in modo che la sua origine coincida con la punta del vettore vec {u}; - disegniamo il parallelogramma avente per lati i vettori vec {u} e vec {v}; - il vettore somma vec {u}+ vec {v} è la diagonale del parallelogramma che unisce l'origine di vec {u} con la punta di vec {v} - il vettore differenza vec {u}- vec {v} corrisponde all'altra diagonale del parallelogramma ed ha la punta coincidente con l'origine del secondo vettore. [attach]2424[/attach] soluzione il testo del problema chiede di utilizzare il primo metodo, in quanto le forze sono già applicate ad uno stesso punto. [attach]2425[/attach] dato che le forze sono perpendicolari tra loro, per trovare l’intensità della forza risultante, puoi applicare il teorema di pitagora: $| vec {r}|= sqrt {80^{2}+60^{2}}=100n chiarimento nel testo dell’esercizio probabilmente c’è un errore, in quanto le forze si misurano in newton (n), non in kg con cui invece si misura la massa. L'albero delle espressioni è così potente perché ti consente di trattare il **codice** come **dati** . Gli utenti sono abituati a creare dati, salvarli e tornare in seguito. 

 Gli alberi delle espressioni ti consentono di fare la stessa cosa con il codice. Ad esempio, puoi inserire l'input dell'utente (caselle di controllo, intervalli numerici, ecc.) E tradurlo in un albero di espressioni. Quell'albero di espressioni può quindi essere eseguito o memorizzato per un uso successivo. Molto bello 

 Pensa agli usi pratici relativi alla creazione di rapporti come la creazione e il salvataggio di filtri dati e mappature dei dati. Un altro uso pratico sarebbe quello di supportare flussi di lavoro personalizzati nell'applicazione in base a regole definite dall'utente. 

 Ecco un po 'di codice MSDN sulla serializzazione di alberi di espressioni ( <http://code.msdn.microsoft.com/exprserialization> ) che dovrebbe far scorrere le idee. Avrai davvero bisogno di un [parser HTML](https://stackoverflow.com/questions/100358/looking-for-c-html-parser) per questo <p>al livello più basso, winrt è un modello a oggetti definito a livello abi. usa com come base (quindi ogni oggetto winrt implementa <code>iunknown</code> e ricontatta), e costruisce da lì. aggiunge molti nuovi concetti rispetto a com di vecchi, molti dei quali provengono direttamente da .net - ad esempio, il modello a oggetti winrt ha delegati e gli eventi sono fatti in stile .net (con delegati e aggiungi/rimuovi abbonato metodi, uno per evento) anziché il vecchio modello com di origini e sink di eventi. tra le altre cose degne di nota, winrt ha anche interfacce parametrizzate ("generiche").</p><p>un altro grande cambiamento è che tutti i componenti winrt hanno metadati disponibili per loro, proprio come gli assembly .net. in com è una specie di quello con typelibs, ma non tutti i componenti com li avevano. per winrt, i metadati sono contenuti nei file .winmd - guarda dentro "c:\programmi (x86)\windows kits\8.0\windows metadata \" in anteprima sviluppatore. se cerchi, vedrai che in realtà sono assiemi cli senza codice, solo tabelle di metadati. puoi aprirli con ildasm, in effetti. nota, questo non significa che winrt stesso sia gestito, ma semplicemente riutilizza il formato del file.</p><p>quindi ci sono un certo numero di librerie implementate in termini di quel modello di oggetti - che definiscono le interfacce e le classi winrt. ancora una volta, guarda la cartella "windows metadata" di cui sopra per vedere cosa c'è lì; o semplicemente avvia object browser in vs e seleziona "windows 8.0" nel selettore di framework, per vedere cosa è coperto. c'è molto lì e non si occupa solo dell'interfaccia utente: ottieni anche spazi dei nomi come <code>windows.data.json</code>, o <code>windows.graphics.printing</code>, o <code>windows.networking.sockets</code>.</p><p>quindi ottieni diverse librerie, che si occupano in particolare dell'interfaccia utente, per lo più si tratta di vari spazi dei nomi in <code>windows.ui</code> o <code>windows.ui.xaml</code>. molti di loro sono molto simili agli spazi dei nomi wpf/silverlight - ad es. <code>windows.ui.xaml.controls</code> è strettamente corrispondente <code>system.windows.controls</code>; idem per <code>windows.ui.xaml.documents</code> eccetera.</p><p>ora .net ha la possibilità di fare riferimento direttamente ai componenti winrt come se fossero assembly .net. funziona diversamente dall'interoperabilità com: non hai bisogno di artefatti intermedi come gli interoperativi, devi solo <code>/r</code> un file .winmd e tutti i tipi e i relativi membri nei suoi metadati diventano visibili a te come se fossero oggetti .net. si noti che le stesse librerie winrt sono completamente native (e quindi i programmi c++ nativi che utilizzano winrt non richiedono affatto clr) - la magia per esporre tutta quella roba come gestita è all'interno del clr stesso, ed è di livello abbastanza basso. se ildasm un programma .net che fa riferimento a un .winmd, vedrai che in realtà sembra un riferimento esterno all'assemblea - non ci sono giochi di prestigio come il tipo di inserimento lì.</p><p>non è nemmeno una mappatura smussata - clr tenta di adattare i tipi di winrt ai loro equivalenti, ove possibile. quindi ad es. guid, date e uri diventano <code>system.guid</code>, <code>system.datetime</code> e <code>system.uri</code>, rispettivamente; interfacce di raccolta winrt come <code>iiterable&lt;t&gt;</code> e <code>ivector&lt;t&gt;</code> diventa <code>ienumerable&lt;t&gt;</code> e <code>ilist&lt;t&gt;</code>; e così via. questo funziona in entrambi i modi: se si dispone di un oggetto .net che implementa <code>ienumerable&lt;t&gt;</code> e restituiscilo a winrt, lo vedrà come <code>iiterable&lt;t&gt;</code>.</p><p>in definitiva, ciò significa che le tue app .net metro hanno accesso a un sottoinsieme delle librerie .net standard esistenti e anche alle librerie (native) winrt, alcune delle quali - in particolare <code>windows.ui</code> - sembra molto simile a silverlight, per quanto riguarda le api. hai ancora xaml per definire la tua ui e gestisci ancora gli stessi concetti di base di silverlight: associazioni di dati, risorse, stili, modelli ecc. in molti casi, è possibile eseguire il porting di un'app silverlight semplicemente con <code>using</code> i nuovi spazi dei nomi e modificando alcuni punti del codice in cui l'api è stata modificata.</p><p>winrt stesso non ha nulla a che fare con html e css, e ha relazione con javascript solo nel senso che è anche esposto lì, in modo simile a come viene fatto per .net. non è necessario avere a che fare con html/css/js quando si utilizzano le librerie dell'interfaccia utente winrt nella propria app .net metro (beh, immagino, se proprio lo si desidera, è possibile ospitare un controllo <code>webview</code>. .). tutte le tue competenze .net e silverlight rimangono molto rilevanti in questo modello di programmazione.</p> >  esiste un modo per caricare la proprietà della chiave di navigazione come entity-framework (lazy-loading)? 
> 
> 

 No, Dapper è una libreria SQL diretta, ed è per questo che è così incredibilmente veloce. Non vi è alcun sovraccarico che circonda il carico automatizzato. È tuttavia possibile caricare più di un'entità alla volta. 


>  qual è la differenza tra serializzazione POCO e serializzazione dinamica? che è migliore? e come posso usare questa serializzazione? 
> 
> 

 La serializzazione POCO è più efficiente perché il tipo è ben noto in fase di compilazione, la serializzazione dinamica è un po 'più costosa perché deve essere valutata in fase di esecuzione. Oltre a questo non c'è davvero una differenza. 

 Tuttavia, consiglierei Dapper al di sopra di ***tutte le altre*** librerie ovunque. È semplice, veloce ed estremamente flessibile. E credetemi, ho usato molti framework e librerie per l'accesso ai dati. 

 [Documentazione Dapper](https://github.com/StackExchange/dapper-dot-net) 

 Dai un'occhiata a **Multi Mapping** e **Multiple Results** Ciao, il driver è necessario per il funzionamento del hardware, nel tuo caso il driver potrebbe essere già installato durante l'installazione di windows, potrebbe trattasi della stessa versione la quale hai sul tuo CD di driver o una più vecchia ma potrebbe anche trattasi da un driver "generico". comunque l'installazione del driver ottenuto nel CD -o una versione più recente se ne avresti scaricato una- è raccomandata