Ciclo for basilare

di il
1 risposte

Ciclo for basilare

Buongiorno a tutti, premetto che non sono un informatico e che il mio primo ed unico approccio con la programmazione è stato a causa dell'università.
Ho da svolgere un esercizio tramite un ciclo for (con un'istruzione semplice chiaramente riesco:
sum(v>17)
, per trovare gli elementi di un vettore maggiori di 17) ma l'esercizio sta proprio nell'utilizzo del ciclo for (cosa che onestamente non ho mai fatto).
In soldoni, l'esercizio è il seguente: dato il vettore v=[15 30 11 22 25 17 19 21 16 23], trovare quanti sono gli elementi maggiori di 17 con ciclo for utilizzando if...else.

Scusate ancora per la domanda forse fin troppo cretina e grazie mille per la disponibilità!


Seb

1 Risposte

  • Re: Ciclo for basilare

    Hai provato a fare almeno un tentativo?
    Hai provato a dare un'occhiata alla documentazione?




    Semplice conteggio
    
    
    v=[15 30 11 22 25 17 19 21 16 23]
    
    % Define the control value
    val=17;
    % Initialize the output value
    sum_meeting=0;
    % Loop over the elements of the input array
    for i=1:length(v)
       % If the i-th element of the array meets the condition
       if(v(i) > val)
          % Increment the value of the output variable
          sum_meeting=sum_meeting+1;
       end
    end
    
    
    Conteggio e memorizzazione degli elementio che verificano / non vrificano la condizione
    
    v=[15 30 11 22 25 17 19 21 16 23]
    % Define the control value
    val=17;
    % Initialize the output values
    % Number of element meeting the condition
    sum_meeting=0;
    % Elements meeting the conditiion and their position in the array
    meeting_val=[];
    % Counter of the meeting elements
    n_meeting=0;
    % Elements not meeting the conditiion and their position in the array
    not_meeting_val=[];
    % Counter of the non meeting elements
    n_not_meeting=0;
    % Loop over the elements of the input array
    for i=1:length(v)
       % If the i-th element of the array meets the condition
       if(v(i) > val)
          % Increment the value of the output variable
          sum_meeting=sum_meeting+1;
          % Increment the counter of meeting values
          n_meeting=n_meeting+1;
          % Store the index of the meeting value in the output array
          meeting_val(n_meeting,1)=i;
          % Store the value of the meeting value in the output array
          meeting_val(n_meeting,2)=v(i);
       % If the i-th element of the array doea not meet the condition
       else
          % Increment the counter of not meeting values
          n_not_meeting=n_not_meeting+1;
          % Store the index of the not meeting value in the output array
          not_meeting_val(n_not_meeting,1)=i;
          % Store the value of the not meeting value in the output array
          not_meeting_val(n_not_meeting,2)=v(i);
       end
    end
    
    
Devi accedere o registrarti per scrivere nel forum
1 risposte