Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    passaggio array a funzioni

    buongiorno,

    un piccolo consiglio, questo passaggio di array a funzioni e pulito, o a lungo andare può creare errori?

    codice:
    
    int trasf[16];
    int a[16]; 
    
    void lettura()
    {
    Blocks0(trasf, 5);
    Blocks1(trasf, 6);
    Blocks2(trasf, 5);
    }
    
    void Blocks0(int transf[], int lung)
    {
    .
    .
    .
    if (i % 200 == 0)
        {
          for (int i = 0; i < 5; i++)
          {
            transf[i] = 0;
          }
    
    
    
    .
    .
    .
    if (coordinatex0[j] > 270 && coordinatex0[j] <= 310 )
            {
              inserimento0[0] = coordinatex0[j];
              transf[0] = 1;
            }
            //////////////////////////////////////////////////////////
            if (coordinatex0[j] > 220 && coordinatex0[j] <= 270 )
            {
              inserimento0[1] = coordinatex0[j];
             transf[1] = 1;
            }
            //////////////////////////////////////////////////////////
            if (coordinatex0[j] > 120 && coordinatex0[j] <= 210 )
            {
              inserimento0[2] = coordinatex0[j];
              transf[2] = 1;
    
    
            }
    
       
    .
    .
    .
    else
      {
        for (int i = 0; i < 5; i++)
        {
          transf[i] = 0;
        }
      }
    
    
    
    void Blocks1(int transf[], int lung)
    {
    .
    .
    .
    if (i % 200 == 0)
        {
          for (int i = 5; i < 11; i++)
          {
            transf[i] = 0;
          }
    
    
    
    .
    .
    .
    if (coordinatex0[j] > 270 && coordinatex0[j] <= 310 )
            {
              inserimento0[0] = coordinatex0[j];
              transf[5] = 1;
            }
            //////////////////////////////////////////////////////////
            if (coordinatex0[j] > 220 && coordinatex0[j] <= 270 )
            {
              inserimento0[1] = coordinatex0[j];
             transf[6] = 1;
            }
            //////////////////////////////////////////////////////////
            if (coordinatex0[j] > 120 && coordinatex0[j] <= 210 )
            {
              inserimento0[2] = coordinatex0[j];
              transf[7] = 1;
    
    
            }
    
       
    .
    .
    .
    else
      {
        for (int i = 5; i <11; i++)
        {
          transf[i] = 0;
        }
      }
    
    
    
    
    
    void Blocks2(int transf[], int lung)
    {
    .
    .
    .
    if (i % 200 == 0)
        {
          for (int i = 11; i < 16; i++)
          {
            transf[i] = 0;
          }
    
    
    
    .
    .
    .
    if (coordinatex0[j] > 270 && coordinatex0[j] <= 310 )
            {
              inserimento0[0] = coordinatex0[j];
              transf[11] = 1;
            }
            //////////////////////////////////////////////////////////
            if (coordinatex0[j] > 220 && coordinatex0[j] <= 270 )
            {
              inserimento0[1] = coordinatex0[j];
             transf[12] = 1;
            }
            //////////////////////////////////////////////////////////
            if (coordinatex0[j] > 120 && coordinatex0[j] <= 210 )
            {
              inserimento0[2] = coordinatex0[j];
              transf[13] = 1;
    
    
            }
    
       
    .
    .
    .
    else
      {
        for (int i = 11; i <16; i++)
        {
          transf[i] = 0;
        }
      }
    
    
    
    void trasferimento(int a[], int trasf[])
    {
    
    
    for(int i=0; i<16; i++)
    {
      a[i] = trasf[i];
    }
    ossia tre funzioni che modificano posizioni differenti dello stesso array, quindi blocks0 modifica dalla 0 alla 4, blocks1 dalla 5 alla 11, blocks2 dalla 11 alla 15 del array trasf, il quale poi trasferisce tutto in a[] e tutto logico, oppure ci sono osservazioni che ho trascurato?

    grazie mille

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Manca il linguaggio di programmazione nel titolo, come indicato nel Regolamento.

    Rispondi indicando il linguaggio così provvedo a inserirlo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    sorry, linguaggio c!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Quote Originariamente inviata da gianni88r Visualizza il messaggio
    sorry, linguaggio c!
    In realtà non capisco il senso di tutte quelle funzioni quasi uguali e ripetute...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.