User Tools

Site Tools


it:informatica:linguaggio_c:vettori_1
Site was transfered to www.skenz.it
Please, always refer to this link with the following URL: https://www.skenz.it/it/informatica/linguaggio_c/vettori_1

Vettori (Esempio 1)

Concetti:
Vettori (array), inizializzazione ed utilizzo

Testo:
Realizzare un programma in linguaggio C che:

  • dopo aver dichiarato ed inizializzato un array di 10 elementi
  • trovi e stampi il primo numero pari e la sua posizione all'interno del array

Soluzione:

vettori_1.c
/* Stampare il primo numero pari e la sua posizione, scandendo un vettore di 10 elementi */
 
#include <stdio.h>
#define SIZE 10
 
int main(){
 
  int vet[SIZE] = {1, 5, 3, 7, 10, 1, 2, 3, 4, 5};
  int i;
  int found = 0;
 
  /* Prima soluzione */
  for(i=0; i<SIZE && !found; i++){
    if ( vet[i]%2 == 0 ){
      found = 1;
    }
  }
 
  /* Seconda soluzione */
  i = 0; found = 0;
  while ( i<SIZE && !found ){
    if ( vet[i]%2==0 ){
      found = 1;
    }
    i = i + 1;
  }
 
  if (found){
    printf("NUMERO PARI: %d (POSIZIONE: %d)\n", vet[i-1], i-1);
  } else {
    printf("Nessun numero pari presente\n");
  }
 
  return 0;
}

Commenti:
Il programma:

  • dopo aver inizializzato l'array di dimensione SIZE direttamente durante la dichiarazione:
  int vet[SIZE] = {1, 5, 3, 7, 10, 1, 2, 3, 4, 5};
 
  • scandisce l'array attraverso un ciclo for finché non sono stati analizzati tutti gli elementi (condizione i<SIZE) e finché non è stato trovato un numero pari (la variabile found assume un valore diverso da 0, cioè vero). La variabile found viene impostata ad 1 quando viene trovato il primo elemento pari del vettore.
  for(i=0; i<SIZE && !found; i++){
    if ( vet[i]%2 == 0 ){
      found = 1;
    }
  }
 
  • lo stesso esercizio è stato risolto in modo equivalente utilizzando il costrutto while.
  /* Seconda soluzione */
  i = 0; found = 0;
  while ( i<SIZE && !found ){
    if ( vet[i]%2==0 ){
      found = 1;
    }
    i = i + 1;
  }  
 
  • i risultati vengono stampati alla fine del programma. Si noti che all'uscita sia del ciclo for che del ciclo while, la variabile i rappresenta la posizione successiva rispetto a quella del primo numero pari. Per questo motivo, al fine di stampare il primo elemento pari del vettore e la sua posizione devono essere usate le variabili vet[i-1] e i-1, rispettivamente.
  if (found){
    printf("NUMERO PARI: %d (POSIZIONE: %d)\n", vet[i-1], i-1);
  } else {
    printf("Nessun numero pari presente\n");
  }  
 

If you found any error, or if you want to partecipate to the editing of this wiki, please contact: wiki [at] altervista.org

You can reuse, distribute or modify the content of this page, but you must cite in any document (or webpage) this url: https://www.skenz.it/it/informatica/linguaggio_c/vettori_1
/membri/wiki/data/pages/it/informatica/linguaggio_c/vettori_1.txt · Last modified: 2015/10/28 15:23 (external edit)


Policy sui Cookie