Array e Vettori

di il
15 risposte

Array e Vettori

Salve ragazzi,

Sto aiutando mio fratello a conseguire un esame di ingegneria civile. L'esame in questione è Elementi di informatica nel quale è richiesta una preparazione base sul C++. Pur conoscendo le semplicissime basi di questo fantastico linguaggio di programmazione, l'esame prevede un tipo di esercizio abbastanza complesso per me. Bisogna lavorare sui vettori attraverso il C++. Purtroppo non so molto sui vettori e sugli array conoscendo solo le base e, purtroppo non so bene come aiutarlo.
Ovviamente prima di passare al piano B (il vostro sacrosanto aiuto *_*) ho consultato molte guide e testi per orientarmi e qualcosa l'ho intesa. La mia richiesta è, non è che sapete spiegarmi come potrei riuscire a rappresentare quest'esercizio nel modo più semplice che esiste?


--------------------------------------------------------------------------------------------------------------------
Dato un vettore VETT1 di cardinalità 30 e di riempimento N costruire il vettore VETT2 contenente
nell'ordine, i valori:

della somma degli elementi di VETT1;

del minimo degli elementi di VETT1;

la posizione di detto minimo.

Esempio:

N=3

VETT1

5 - 9 - 4

VETT2

18 - 4 - 2

--------------------------------------------------------------------------------------------------------------------


Vi ringrazio infinitamente tutti!
Grazie a tutti per l'aiuto!

15 Risposte

  • Re: Array e Vettori

    Comincia con il dichiarare il vettore

    int vett1[30];

    e l'altro vettore

    int vett2[3];

    e comincia ad impostare un ciclo for per l'input dei 30 valori in vett1.

    Poi si continua ...
  • Re: Array e Vettori

    Ok ditemi se così vi piace:
    // Dato un vettore VETT1 di cardinalità 30 e di riempimento N costruire il vettore VETT2 contenente [...]
    #include <iostream>
    #include <math.h>
    using namespace std;

    int vettore1[30];
    int vettore2[3];

    int somma,mini,dim,i,j;
    int main ()
    {
    // controllo vettore
    dim=0;
    do
    {
    cout<<"Quanti Elementi Si Vogliono Inserire?"<<endl;
    cin>>dim;
    if ((dim>30 || dim<1)) cout<<"Valore Errato, Si prega di inserire da un minimo di 1 al massimo di 30"<<endl;
    } while ((dim>30 || dim<1));


    // Caricamento Vettore
    for (i=0; i<dim; i++)
    {
    cout<<"Inserisci il "<<i+1<<" Valore"<<endl;
    cin>>vettore1;
    }

    cout<<endl<<endl; // solo per effetto grafico

    somma=0;


    Il mio problema è capire la provenienza di quei numeri nell'esempio! Non riesco a capire poi quel Numero 3 di riempimento che significhi :S

    Grazie
  • Re: Array e Vettori

    Significa che userai N come numero di valori da inserire fino ad un massimo di 30

    Quindi non chiedere quanti valori inserire all'utente ma scrivi

    #define N 8

    ad esempio per gestire 8 elementi di vett1
  • Re: Array e Vettori

    Ok, e scusami se insisto ma com'è possibile che questi sono i risultati?

    Esempio:

    N=3

    VETT1

    5 - 9 - 4 <------------- e poi 9 non dovrebbe essere un 6?

    VETT2

    18 - 4 - 2 <------------ QUESTI


    Non riesco a capire, scusa sono molto confuso.
  • Re: Array e Vettori

    5+9+4 = 18 è il primo numero

    4 è il più piccolo tra i tre ed è il secondo

    2 è la posizione del 4 (considera che la posizione comincia da 0)
  • Re: Array e Vettori

    Ah ecco!!!! Grazie davvero sei stato di immenso aiuto.

    Ancora una cosa, 5 -9 - 4 come li ho ottenuti?

    Se io ho posto che il vettore di cardinalità 30 è riempito a partire dal numero 3 non dovrebbe essere

    3 - 4 - 5 ?

    Scusa ancora la mia ignoranza, grazie
  • Re: Array e Vettori

    fabrollo ha scritto:


    Ancora una cosa, 5 -9 - 4 come li ho ottenuti?
    Erano nell'esempio che hai mostrato tu !
    Se io ho posto che il vettore di cardinalità 30 è riempito a partire dal numero 3 non dovrebbe essere

    3 - 4 - 5 ?
    Eh?
  • Re: Array e Vettori

    Ahah scusa ho capito finalmente.

    I valori 5 - 9 - 4 sono stati immessi dopo nel programma credo. Quindi a questo punto credo sia risolto. Devo solo compilarlo. Vi faccio sapere appena l'ho finito. Lo pubblico e voi mi direte eventualmente che ne pensate

    Grazie ancora!
  • Re: Array e Vettori

    Ragazzi sono riuscito con un mio amico a crearlo in c ma non riusciamo a convertirlo in c++, non è che qualcuno di voi ha qualche dritta da darci?

    Grazie!!
    // Inclusione Librerie Standard
    #include <stdio.h>
    #include <stdlib.h>


    int VETT2[2];
    // Riempimento
    int N = 0;

    int main() {
    // Scelta Riempimento
    printf("Quanti elementi si vuole inserire? : ");
    scanf("%d", &N);


    int VETT1[N-1];


    int value = 0;
    for (int i=0; i<N; i++) {
    printf("Scrivi il valore %d (VETT1[%d]) : ", i+1, i);
    scanf("%d", &value);

    VETT1 = value;
    }

    int somma = 0;
    for (int i=0; i<N; i++) {
    somma += VETT1;
    }

    int minimo = VETT1[0];
    int posizione = 0;
    for (int i=1; i<N; i++) {

    int m = VETT1;
    if (m<minimo) {

    minimo = m;

    posizione = i;
    }
    }

    VETT2[0] = somma;
    VETT2[1] = minimo;
    VETT2[2] = posizione;


    printf("\nLa somma degli elementi e' : %d \n", VETT2[0]);
    printf("Il valore minimo del vettore e' : %d \n", VETT2[1]);
    printf("La posizione del minimo e' : %d \n\n\n", VETT2[2]);

    system("PAUSE");
    return 0;
    }
  • Re: Array e Vettori

    Che intendi ? Cosa vorresti convertire in C++ ?
  • Re: Array e Vettori

    Ad esempio : PRINTF, SCANF, {printf("Quanti elementi si vuole inserire? : "); scanf("%d", &N);}

    Poi volevo capire quell'istruzione "%d" come la ottiene, cos'è?



    Grazie ancora.
  • Re: Array e Vettori

    fabrollo ha scritto:


    Ad esempio : PRINTF, SCANF, {printf("Quanti elementi si vuole inserire? : "); scanf("%d", &N);}
    Devi usare cin e cout (e includere <iostream>)

    http://www.cplusplus.com/doc/tutorial/basic_io
    Poi volevo capire quell'istruzione "%d" come la ottiene, cos'è?
    E' uno "specificatore del formato" del printf.
    Indica che verrà visualizzato un intero.
    Trovi tutto nella documentazione (che va letta/studiata per programmare ...)

    http://www.cplusplus.com/reference/cstdio/printf
  • Re: Array e Vettori

    Ah ok, perfetto ho risolto quasi tutto!

    Un ultimo problema, non funziona l'istruzione

    " cin>> ("%d", &N); "

    come se non fosse utilizzabile con STD.
    Se elimino la e commerciale (&) mi fuziona, ma comunque non bene in output dandomi valori strani.

    Come posso fare?

    Grazie
  • Re: Array e Vettori

    Mescolando C e C++ non otterrai nulla di buono
    Dall'esempio nel link suggerito da Oregon:
    
    // i/o example
    
    #include <iostream>
    using namespace std;
    
    int main ()
    {
      int i;
      cout << "Please enter an integer value: ";
      cin >> i;
      cout << "The value you entered is " << i;
      cout << " and its double is " << i*2 << ".\n";
      return 0;
    }
    E' tutto qui ciò che ti serve
Devi accedere o registrarti per scrivere nel forum
15 risposte