Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - aiuto funzione adatta
Forum - C/C++ - aiuto funzione adatta

Avatar
904 (Normal User)
Newbie


Messaggi: 4
Iscritto: 22/12/2011

Segnala al moderatore
Postato alle 19:57
Giovedì, 22/12/2011
ciao a tutti se potete aiutarmi per piacere avrei una domanda in pratica l'utente deve inserire da tastiera dei numeri in questo modo e premere invio :
24 2 13 52
questi numeri devono essere memorizzati nella riga di un array come posso fare con la funzione scanf ad esempio?

PM
Avatar
Bonny (Member)
Expert


Messaggi: 435
Iscritto: 24/04/2009

Up
1
Down
V
Segnala al moderatore
Postato alle 21:20
Giovedì, 22/12/2011
dichiari un array di char grande quanto ti serve, per l'esempio da te citato char striga[11], fai la scanf("%s",stringa);
poi ti prelevi i caratteri che compongono ogni singolo numero e le assegni a delle variabili o array di interi ecc..
facendo il cast con la funzione atoi() se non ricordo male sta in <stdlib.h> non ne sono sicuro.
Fai un ciclo considerando che i singoli numeri sono separati dal carattere spazio prelevi le porzioni di array che ti servono e fai il cast.

Ultima modifica effettuata da Bonny il 22/12/2011 alle 21:21
grazie mille - 904 - 22/12/11 21:25
Di niente :) - Bonny - 22/12/11 21:27


Bonny
PM
Avatar
Poggi Marco (Member)
Guru


Messaggi: 950
Iscritto: 05/01/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 21:28
Giovedì, 22/12/2011
Ciao!

In c, il carattere spazio, viene considerato come separatore.
Al limite, anche se non consigliato, è possibile impostare una cosa del genere:
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.   printf("%s\n\n", "Input da tastiera");
  7.   int a[4];
  8.   printf("%s ", "Numeri");
  9.   scanf("%d%d%d%d", &a[0], &a[1], &a[2], &a[3]);
  10.   while (getchar() != '\n');
  11.   printf("\n%d  %d  %d %d\n", a[0], a[1], a[2], a[3]);
  12.   getchar();   
  13.   return 0;
  14. }



Nulla va più veloce della luce, quindi rilassati.
PM
Avatar
Driverfury (Normal User)
Rookie


Messaggi: 45
Iscritto: 21/09/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 11:56
Venerdì, 23/12/2011
Non ho capito bene, un array di interi o un array di stringhe dove inserisci i caratteri dei numeri.

Se l'array è di interi, potresti provare così:
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.         int arr[4]; // Array di interi
  7.         printf("Inserire Input-> ");
  8.         fflush(stdin); // Svuoto il buffer dello standard input (della tastiera)
  9.         fscanf(stdin, "%d %d %d %d", &arr[0], &arr[1], &arr[2], &arr[3]);
  10.         getchar(); // Per stoppare il programma prima della chiusura
  11.         return 0;
  12. }



Non l'ho testato ma dovrebbe funzionare.

PM