Throw mutui codici creati in tre lingue popolari. Per creare un programma in compilatore Pascal ho usato Turbo Pascal 7.0 (gestito dalla Ctrl + F9) in C + +, ha utilizzato il Microsoft Visual Studio 2005 (F5 per compilare e conferma) e il codice creato in flash Luca Laghi Ho già dato un codice simile scritto in Code:: Blocks - per leggere lo invito qui . Qui è possibile scaricare i file. Pas. Cpp. SWF e. Html. VN: F [1.9.3_1094] Rating: 0.0 / 10 (0 voti) VN: F [1.9.3_1094] scritto da laptopik L'ordinamento è uno dei principali problemi in qualsiasi linguaggio di programmazione. Attualmente, in media, l'algoritmo di ordinamento più efficiente è QuickSort . All'inizio, però, creeremo proprio algoritmo. Il principio di funzionamento è semplice. Il programma prende ogni elemento della tavola a sua volta, e la confronta con ogni altro elemento nella tabella. Se si incontrano più che l'elemento si trova alla fine della matrice, lo converte in quest'ultima. # Include <iostream> using namespace std; int main () ( / / Dichiarazione di array e riempimento = { 9 , 412 , 22 , 623 , 666 , 425 , 248589789 , 124 , 4572 , 148589789 } ; // 10 elementów int a [] = (9, 412, 22, 623, 666, 425, 248.589.789, 124, 4.572, 148.589.789), / / 10 elementi / / Ordina / / Inizia la ricerca del maggior numero dalla fine della matrice per ciascun elemento, facciamo un passo ulteriore scritta / / Q rappresenta l'indice di un elemento di matrice int q= 9 ; q> 0 ; q– ) { for (int q = 9, q> 0, q-) ( / / Q è ridotto, perché omettere la verifica del numero delle quali sono state individuate come il più grande progresso, q rappresenta il luogo in cui si colloca il grande valore di questo corso / / Variabile "più grande" memorizza l'indice nella elemento della matrice con il valore più alto ancora trovato / / Si assuma fin dall'inizio che questa è 0, per iniziare il confronto sin dall'inizio, è il valore contenuto in questo elemento viene confrontato con ogni ; int più grande = 0; int d= 0 ; d<=q; d++ ) { for (int d = 0, d <= q, d + +) ( / / Metodo ", ciascuno con ciascuno, per un dato elemento, prendiamo ogni altro elemento della matrice, fino a q, per q abbiamo messo a punto il più alto valore trovato a [ d ] >a [ najwieksza ] ) najwieksza=d; if (a [d]> a [più]) = il più grande d; / / Se l'elemento è maggiore di quello attualmente conservato come il più grande, si migliora l'indice del valore più alto ) / / Perché il FORZE interno, overriden trovato il valore più grande nella seconda parte del processo (q) q ] ; int s = a [q]; =a [ najwieksza ] ; a [q] = a [più]; = s; a [più] = s; ) / / Check / / Lancia il risultato già ordinato gli elementi dell'array int n= 0 ; i< 10 ; i++ ) cout<<a [ n ] <<endl; for (int n = 0 e <10 i + +) cout <<a [n] <<endl; )
E ora il più veloce algoritmo QuickSort: Prende come argomenti di un indice di array del primo componente e l'indice dell'ultimo elemento: int arr [ ] , int left, int right ) { void QuickSort (int arr [], int a sinistra, a destra int) ( int i j = sinistra = destra; int tmp; left + right ) / 2 ] ; pivot int = arr [(destra + sinistra) / 2]; / * * Partizione / i <= j ) { while (i <= j) ( arr [ i ] < pivot ) i++; while (arr [i] <pivot) i + +; arr [ j ] > pivot ) j–; while (arr [j]> pivot) j; i <= j ) { if (i <= j) ( ; tmp = arr [i]; = arr [ j ] ; arr [i] = arr [j]; = tmp; arr [j] = tmp; i + +; j; ) ); / * Ricorsione / left < j ) quickSort ( arr, left, j ) ; if (a sinistra <j) quicksort (arr, a sinistra, j); i < right ) quickSort ( arr, i, right ) ; if (s <a destra) QuickSort (arr, i, a destra); )
Una descrizione dettagliata dell'algoritmo QuickSort si possono trovare qui . VN: F [1.9.3_1094] VN: F [1.9.3_1094] scritto da Don Daniello \ \ tags: algoritmo , C + + , cpp , specie
Buona domanda, come ad esempio scrivere una calcolatrice in C + +? Sfondo  Che cosa è il C + +? C + +, cpp in caso contrario è un linguaggio di programmazione viene da un vecchio C. Questo è quasi il linguaggio di programmazione più potenti, pur avendo il maggior potenziale. Naturalmente, il programma per esempio, quando si scrive in assembler, otteniamo un po 'più efficiente (più veloce l'esecuzione di operazioni), ma la scrittura ci vuole molto più tempo. Sull'altro estremo, per esempio, scrivere un programma Visual Basic riceveranno meno efficiente, ma meno lo scrivere. Attualmente, è abbastanza comune l'uso di librerie di programmi scritti in linguaggio assembly scritti in C + + (in modo sensibile le istruzioni vengono eseguite più rapidamente.) Ulteriori informazioni su assembler qui . Ci prenderemo cura di C + +. Che cosa è necessario scrivere un programma in C + +? Un programma scritto in C + + (codice sorgente), compilare uno speciale programma chiamato compilatore per ottenere il file di output (eseguibile). Dopo aver compilato il programma potrebbe non ottenere la fonte (una raccolta non può essere annullata), in modo da essere sicuri di non perdere il codice sorgente, altrimenti sarà impossibile modificare il programma e dovranno ripartire da zero. Il codice in C + + è la stessa per tutti i sistemi operativi. Compiler Un buon compilatore, il comando è ormai degno di Code:: Blocks. Si tratta di un IDE (ambiente integrato di sviluppo -> ambiente integrato di sviluppo). Contiene la libreria di base, amichevole, editor di testo kolorujacy e compilatori. E 'molto facile da usare. La sua home page è http://codeblocks.org , è disponibile su Windows, Linux e MacOS'em. Scriviamo Calculator Reporting qui, convertitore pronti, perché il miglior modo di insegnare con l'esempio. Il codice è "auto-Explained", ho messo commenti nel codice, basta leggere. /*--------+ | | Calculatorix | V 1.0 | | Con | DonDaniello.com +--------*/ / / Tutto è posto tra / * e * / non viene presa in considerazione dal compilatore, questo è chiamato. commento su più righe. Ogni linea che inizia con "/ /" è una jednoliniowym commento (come questo). E 'possibile digitare un commento nel codice come di seguito. In questo caso, il codice viene preso in considerazione solo le "//". # Include <iostream> / / caricare la libreria di I / O (input / output) # Include <cmath> / / libreria matematica carico using namespace std; / / usare librerie standard ai nostri appelli // podstawowa funkcja programu, obowiązkowa int main () / / La funzione principale del programma, obbligatoria ( operazione int, / / dichiarazione di variabile intera operazione chiamata. doppia x, y, z, / / dichiarazione di un numero variabile di tempo, niecałkowitych chiamato x, y, z. / / Da notare che quasi ogni comando si conclude con una citazione. <<endl<<endl; tribunale <<"Welcome to Calculatorix v 1.0" <<endl <endl <; / / Endl è una funzione che restituisce un fine della riga. "Corte <<" significa per inviare qualcosa sullo standard output " true ) { // pętla zawsze spełniona while (true) (/ / loop sempre soddisfatto / / Invia il testo <<endl; tribunale <<"Azioni disponibili:" <endl <; <<endl; tribunale <<"1 - l'aggiunta di" <<endl; <<endl; tribunale <<"2 - Sottrazione" <endl <; <<endl; tribunale <<"3 - Moltiplicazione" <<endl; <<endl; tribunale <<"5 - Elevamento" <endl <; <<endl<<endl; tribunale <<"7 - valore assoluto" <<endl <<endl; ; tribunale <<"Seleziona azione da eseguire:"; cin> operazione>, / / accettiamo la scelta di dzialanie ) { // wybór działania switch (operazione) (/ / selezione delle azioni : // jeśli podano jeden to: case 1: / / se si è dato: ; cin >> x; // cout << endl; tribunale <<"Inserisci primo numero:" cin>> x / / cout <<endl; ; cin >> y; // cout << endl; tribunale <<"Inserisci secondo numero:" cin>> y / / cout <<endl; z = x + y / / conteggio << y << " rowna sie" << z << "." << endl << endl; tribunale <<x <<"plus" <<y <<"uguale a" <<z <<"." <<endl <endl <; break; / / fine se : Caso 2: ; cin >> x; // cout << endl; tribunale <<"Inserisci primo numero:" cin>> x / / cout <<endl; ; cin >> y; // cout << endl; tribunale <<"Inserisci secondo numero:" cin>> y / / cout <<endl; z = x - y; << y << " rowna sie " << z << "." << endl << endl; tribunale <<x <<"meno" <y <<<"uguale a" <<z <<"." <<endl <endl <; break; : Caso 3: ; cin >> x; // cout << endl; tribunale <<"Inserisci il primo fattore:" cin>> x / / cout <<endl; ; cin >> y; // cout << endl; tribunale <<"Inserisci il secondo fattore:" cin>> y / / cout <<endl; z = x * y; << y << " rowna sie " << z << "." << endl << endl; tribunale <<x <<"tempi" <<y <<"uguale a" <<z <<"." <<endl <endl <; break; : Caso 4: ; cin >> x; // cout << endl; tribunale <<"Inserisci il numero di coraggiosi:" cin>> x / / cout <<endl; ; cin >> y; // cout << endl; tribunale <<"Inserisci divisore:" cin>> y / / cout <<endl; z = x / y; << y << " rowna sie " << z << "." << endl << endl; tribunale <<x <<"diviso" <y <<<"uguale a" <<z <<"." <<endl <endl <; break; : caso 5: ; cin >> x; // cout << endl; tribunale <<"Inserire la forza della fondazione:" cin>> x / / cout <<endl; ; cin >> y; // cout << endl; tribunale <<"Inserisci l'esponente:" cin>> y / / cout <<endl; ; z = pow (x, y); << y << " rowna sie " << z << "." << endl << endl; tribunale <<x <<"quadrato" <y <<<"uguale a" <<z <<"." <<endl <endl <; break; : caso 6: ; cin >> x; // cout << endl; tribunale <<"Inserisci la radice della fondazione:" cin>> x / / cout <<endl; ; z = sqrt (x); << y << " wynosi " << z << "." << endl << endl; tribunale <<"radice di" <y <<<"e '" <<z <<"." <<endl <<endl; break; : Caso 7: ; cin >> x; // cout << endl; tribunale <<"Inserisci il fondamento assoluto dei valori:" cin>> x / / cout <<endl; ; z = abs (x); << y << " wynosi " << z << "." << endl << endl; tribunale <<"Il valore del numero assoluto di" <y <<<"e '" <<z <<"." <<endl <endl <; break; ; return 0 ; break ; // jeśli podano coś innego, wysyłamy tekst i wyłączamy program default: cout <<endl <<"Bye Bye!" return 0; break; / / se dato qualcosa d'altro, inviare il testo e disattivare il programma ) ) )
Codice di commenti per il download qui: Calculatorix VN: F [1.9.3_1094] Rating: 0.0 / 10 (0 voti) VN: F [1.9.3_1094] scritto da Don Daniello \ \ tags: C + + , Calcolatrice , Programmazione
|