Inserimento dati array/matrici

di il
9 risposte

Inserimento dati array/matrici

Buongiorno a tutti, avrei bisogno di aiuto riguardo gli array e/o matrici.
Devo inserire dei valori prestabiliti in un array (oppure in una matrice).
se scrivo
arrayLettereTemp[26] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
ovviamente mi da errore perché l'inserimento riguarda soltanto il posto 26. Una soluzione è ogni volta che riutilizzo l'array scrivere
char arrayLettereTemp[26] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
Però non so se è corretto, un'altra soluzione per inserire dei valori prestabiliti in array (e matrici)?

grazie a tutti!

9 Risposte

  • Re: Inserimento dati array/matrici

    Il secondo caso lo puoi utilizzare in fase dei definizione dell'array; se lo vuoi invece inizializzare in un momento successivo puoi utilizzare una strcpy() se è una stringa, oppure fai un memcpy() partendo da un altro array costante; se devi inizializzare valori tutti uguali invece puoi usare memset().
  • Re: Inserimento dati array/matrici

    Quindi devo obbligatoriamente inizializzare un array (una sorta di array temporaneo) come nel secondo caso. E poi da quello posso inserire i valori in altri array
  • Re: Inserimento dati array/matrici

    Sì, usi memcpy per inizializzare l'array copiando da quello costante.
  • Re: Inserimento dati array/matrici

    Ma se usi la sequenza normale delle lettere, a che ti serve l'array?
  • Re: Inserimento dati array/matrici

    Scrivendo il codice mi sto accorgendo che molto probabilmente non mi serve, o mi serve in parte. In realtà la mia domanda era per un uso generale, poi ho sfruttato il programma che stavo scrivendo come esempio
  • Re: Inserimento dati array/matrici

    Già che ci sono, per non aprire un altro topic, chiedo qua (la domanda è inerente)
    Sto scrivendo un programma che, inserito un testo, me lo converte in binario.
    Ho distinto i vari casi, lettera minuscola, maiuscola, segno... e ho pensato di fare appunto uno switch case, dove lettera per lettera andava a cercare il caso giusto. Il testo viene salvato in una stringa.
    		switch (text[i])
    		{
    		case('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z') :
    			calcolaBinario(text, i, car.arrayLettereMaiusc, car.arrayNumLettereMaiusc);
    			break;
    		}
    Il problema penso che sia sicuramente come ho scritto
    case('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z') :
    come devo fare?
  • Re: Inserimento dati array/matrici

    case 'A':
    case 'B':
    case 'C':
    ...
    ma sei sicuro che non sia meglio una if?
  • Re: Inserimento dati array/matrici

    Si stavo valutando la possibilità di usare l'if perché mi era venuto il dubbio che debba fare per ogni lettera un case.

    grazie a tutti!
  • Re: Inserimento dati array/matrici

    Secondo me hai tutti questi dubbi e proponi codice poco sensato solo perché non hai chiaro il concetto di codice ASCII e la sua applicazione nel codice.
Devi accedere o registrarti per scrivere nel forum
9 risposte