Anteprima
Vedrai una selezione di 7 pagine su 26
Esercizi svolti in linguaggio C++ (Parte 1) Pag. 1 Esercizi svolti in linguaggio C++ (Parte 1) Pag. 2
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Esercizi svolti in linguaggio C++ (Parte 1) Pag. 6
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Esercizi svolti in linguaggio C++ (Parte 1) Pag. 11
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Esercizi svolti in linguaggio C++ (Parte 1) Pag. 16
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Esercizi svolti in linguaggio C++ (Parte 1) Pag. 21
Anteprima di 7 pagg. su 26.
Scarica il documento per vederlo tutto.
Esercizi svolti in linguaggio C++ (Parte 1) Pag. 26
1 su 26
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

ESERCIZI SVOLTI IN LINGUAGGIO C++ (PARTE 1) - Per corsi di laurea in Ingegneria

INTRODUZIONE

La seguente raccolta di esercizi deriva dalla passione dell'autore per la Programmazione Informatica e per la didattica in generale. Questo lavoro non vuole in alcun modo sostituirsi ad un libro di testo universitario, ma è indirizzato a coloro che necessitino di un supporto più "operativo" alla programmazione.

Per forza di cose, un libro di testo deve utilizzare un linguaggio ricercato ed esporre la materia in maniera rigorosa. Questa dispensa invece, ha l'obiettivo di supportare chi vuole avvicinarsi alla programmazione per la prima volta o chi, semplicemente, desidera un approccio immediato alla risoluzione degli esercizi.

Il lavoro è incentrato principalmente sugli array bidimensionali (matrici), in quanto si ritiene siano oggetti molto utili all'approccio della materia.

Con la speranza di poter continuare in questa meravigliosa avventura, auguro a...

tuttiuna proficua lettura del documento. Raffaele I.1

ESERCIZIO 1: Dimensionamento, inserimento elementi e stampa di una matrice. Il programma esegue anche un controllo dell'errore.

#include <iostream>
#include <cstdlib>
using namespace std;
/* Questo programma permette di definire i riempimenti di una matrice mxn,
di inserirne manualmente gli elementi e di stamparla.
E' presente anche un controllo dell'errore sui riempimenti. */
int main(){
    int i, j, m, n;
    restart:
    // Inserimento manuale dei riempimenti della matrice
    cout << "Inserire un numero di righe: ";
    cin >> m;
    cout << "Inserire un numero di colonne: ";
    cin >> n;
    // Controllo se sono presenti errori di inserimento
    if(m<=0 || n<=0){
        cout << "Errore: inserire solo riempimenti positivi." << endl;
        goto restart;
    }else{
        cout << "M è una matrice " << m;
<< " x "<< n << endl;// Dimensionamento matrice
int M[m][n];// Inserimento manuale degli elementi della matrice
cout << "Inserire gli elementi di M:"<<endl;
for(i=0; i<m; i++){ 
    for(j=0; j<n; j++){
        cout<<"M["<<i<<"]["<<j<<"] = ";
        cin>>M[i][j];
    }
} 

// Stampa della matrice M
cout<<"Stampa della matrice inserita: " << endl;
for(i=0; i<m; i++){
    for(j=0; j<n; j++){
        cout<<M[i][j]<< " ";
    }
    cout<<endl;
}

return 0;
}

ESERCIZIO 2: Assegnato un array bidimensionale (matrice) di riempimenti med n, determinare la somma dei suoi elementi. ________________________________________________________________________________
#include <iostream>
using namespace std;

/* Questo programma restituisce la somma degli elementi di
un array bidimensionale (matrice), di riempimenti "m" ed "n" */
int main(){ 
    int m,n;
    restart:
cout << "Inserire un numero di righe: "; cin >> m; cout << "Inserire un numero di colonne: "; cin >> n; if(m<=0 || n<=0){ cout << "Errore: inserire solo riempimenti positivi." << endl; goto restart; } else{ cout << "M è una matrice " << m << " x " << n << endl; int M[m][n]; int somma = 0; cout << "Inserire gli elementi della della matrice M:" << endl; for(int i=0; i
#include <iostream>
#include <cstdlib>
using namespace std;

/* Questo programma restituisce il valore medio degli elementi di
   ciascuna riga di una matrice (definita dall'utente), di riempimenti "m" ed "n" */

int main() {
    int m, n;
    
    restart:
    // Inserimento manuale dei riempimenti della matrice
    cout << "Inserire un numero di righe: ";
    cin >> m;
    cout << "Inserire un numero di colonne: ";
    cin >> n;
    
    if (m <= 0 || n <= 0) {
        cout << "Errore: inserire solo riempimenti positivi." << endl;
        goto restart;
    } else {
        int M[m][n];
        
        // Cicla fino a che l'utente non inserisce tutti gli elementi della matrice
        cout << "Inserire gli elementi della matrice M:\n";
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                cout << "M[" << i << "," << j << "]=";
            }
        }
    }
    
    return 0;
}

#include <iostream>
#include <cstdlib>

using namespace std;

int main() {
    int m, n;
    cout << "Inserisci il numero di righe della matrice: ";
    cin >> m;
    cout << "Inserisci il numero di colonne della matrice: ";
    cin >> n;

    int M[m][n];

    cout << "Inserisci gli elementi della matrice:" << endl;
    for(int i=0; i> M[i][j];
        }
    }

    cout << "La matrice M inserita è:" << endl;
    for(int i=0; i

ESERCIZIO 4: Data una matrice di interi, di riempimenti scelti dall'utente, determinare il massimo e il minimo tra i suoi elementi, individuando i rispettivi indici di riga e colonna.


namespace std;/* Questo programma consente di determinare il minimo ed il massimo tra gli elementidi una matrice (definita dall'utente), insieme ai rispettivi indici di riga e colonna. */
int main(){ // Inserimento manuale dei riempimenti della matrice
int m,n;
cout << "Inserire riempimento righe: ";
cin >> m;
cout << "Inserire riempimento colonne: ";
cin >> n;
int M[m][n];
int max, min;
int indice_riga_max, indice_riga_min = 0;
int indice_colonna_max, indice_colonna_min = 0;
cout << "Inserire gli elementi dell'array: " << endl;
for(int i=0; i<m; i++)
    for(int j=0; j<n; j++){
        cout << "M[" << i << "][" << j << "] = ";
        cin >> M[i][j];
        /* Algoritmo di ricerca del minimo e del massimo */
        if((i==0)&&(j==0)){
            max = M[i][j];
            min = M[i][j];
            indice_riga_max = i;
            indice_colonna_max = j;
            indice_riga_min = i;
            indice_colonna_min = j;
        }
        if(M[i][j] > max){
            max = M[i][j];
            indice_riga_max = i;
            indice_colonna_max = j;
        }
        if(M[i][j] < min){
            min = M[i][j];
            indice_riga_min = i;
            indice_colonna_min = j;
        }
    }
cout << "Il massimo elemento della matrice è " << max << " e si trova nella posizione [" << indice_riga_max << "][" << indice_colonna_max << "]" << endl;
cout << "Il minimo elemento della matrice è " << min << " e si trova nella posizione [" << indice_riga_min << "][" << indice_colonna_min << "]" << endl;
return 0;
}

#include <iostream>

using namespace std;

int main() {
    int m, n;
    cout << "Inserisci il numero di righe: ";
    cin >> m;
    cout << "Inserisci il numero di colonne: ";
    cin >> n;

    int M[m][n];

    cout << "Inserisci gli elementi della matrice:" << endl;
    for(int i=0; i<m; i++){
        for(int j=0; j<n; j++){
            cout << "Elemento [" << i << "][" << j << "]: ";
            cin >> M[i][j];
        }
    }

    int max = M[0][0];
    int min = M[0][0];
    int indice_riga_max = 0;
    int indice_colonna_max = 0;
    int indice_riga_min = 0;
    int indice_colonna_min = 0;

    for(int i=0; i<m; i++){
        for(int j=0; j<n; j++){
            if(M[i][j] > max){
                max = M[i][j];
                indice_riga_max = i;
                indice_colonna_max = j;
            }
            if(M[i][j] < min){
                min = M[i][j];
                indice_riga_min = i;
                indice_colonna_min = j;
            }
        }
    }

    cout << "Stampa della matrice inserita: " << endl;
    for(int i=0; i<m; i++){
        for(int j=0; j<n; j++){
            cout << M[i][j] << " ";
        }
        cout << endl;
    }

    cout << "Il massimo è " << max << "; indice di riga " << indice_riga_max << ", indice di colonna " << indice_colonna_max << "." << endl;
    cout << "Il minimo è " << min << "; indice di riga " << indice_riga_min << ", indice di colonna " << indice_colonna_min << "." << endl;

    return 0;
}
<iostream>
#include <cstdlib>
#include <cmath>
using namespace std;

/* Questo programma permette di scambiare le righe di due matrici (definite dall'utente),di riempimenti "m" ed "n" */
int m, n, k, p, i, j;

int main(){
    restart:
    // Inserimento dei riempimenti comuni alle due matrici
    cout << "Inserire un numero di righe: ";
    cin >> m;
    cout << "Inserire un numero di colonne: ";
    cin >> n;

    // Controlla che l'utente inserisca solo riempimenti positivi.
    if(m<=0 || n<=0){
        cout << "Errore: inserire solo riempimenti positivi." << endl;
        goto restart;
    }else{
        // Definizione degli elementi delle due matrici M1 ed M2.
        int M1[m][n];
        int M2[m][n];
        cout << "M1 ed M2 sono matrici " << m << "x" << n << endl;

        // Inserimento elementi di M1
        cout << "Inserire gli elementi di M1:" << endl;
        for(i=0; i<m; i++){
            for(j=0; j<n; j++){
                cout
<< "M1[" << i << "][" << j << "] = ";cin >> M1[i][j];
}}
// Inserimento elementi di M2
cout << "Inserire gli elementi di M2:"<<endl;
for(i=0; i<m; i++){
    for(j=0; j<n; j++){
        cout << "M2[" << i << "][" << j << "] = ";cin >> M2[i][j];
    }
}
// Stampa la matrice M1
cout << "Stampa della matrice M1:\n";
for(i=0; i<m; i++){
    for(j=0; j<n; j++){
        cout << M1[i][j] << " ";
    }
    cout << endl;
}
// Stampa la matrice M2
cout<<"Stampa della matrice M2:\n";
for(i=0; i<m; i++){
    for(j=0; j<n; j++){
        cout << M2[i][j] << " ";
    }
    cout << endl;
}
cout << "Attenzione: Per ciascuna delle matrici, per indicare la prima riga bisogna inserire indice 0, ";
cout << endl;
cout << "per indicare la seconda riga bisogna inserire indice 1 e così via...
<p>";cout << endl;cout << "Inserire l'indice della riga di M1 da scambiare: ";cin >> k; 10cout << "Inserire l'indice dell"</p>
Dettagli
A.A. 2019-2020
26 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher the_perfect_note di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof De Salve Mario.