Oppure

Loading
22/12/11 18:57
904
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?
aaa
22/12/11 20:20
Bonny
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 22/12/11 20:21
aaa
22/12/11 20:28
Poggi Marco
Ciao!

In c, il carattere spazio, viene considerato come separatore.
Al limite, anche se non consigliato, è possibile impostare una cosa del genere:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  printf("%s\n\n", "Input da tastiera");
  int a[4];
  printf("%s ", "Numeri");
  scanf("%d%d%d%d", &a[0], &a[1], &a[2], &a[3]);
  while (getchar() != '\n');
  printf("\n%d  %d  %d %d\n", a[0], a[1], a[2], a[3]);
  getchar();	
  return 0;
}
aaa
23/12/11 10:56
Driverfury
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ì:
#include <stdio.h>
#include <stdlib.h>

int main()
{
 	int arr[4]; // Array di interi
 	printf("Inserire Input-> ");
 	fflush(stdin); // Svuoto il buffer dello standard input (della tastiera)
 	fscanf(stdin, "%d %d %d %d", &arr[0], &arr[1], &arr[2], &arr[3]);
 	getchar(); // Per stoppare il programma prima della chiusura
 	return 0;
}


Non l'ho testato ma dovrebbe funzionare.
aaa