Programma numeri

di il
7 risposte

Programma numeri

Devo fare un programma che dopo che inserisco una serie di numeri me li stampi in output con uno spazio tra le cifre. quindi se inserisco 87637 mi stampa 8 7 6 3 7

#include <stdio.h>

int main () {

int numeri[4];
int i;


printf ("inserire un numero di 5 cifre:");

for (i=0; i<4; i++) {

scanf ("%d", numeri);

}

printf ("il numero inserito %d %d %d %d %d", numeri[0], numeri[1],numeri[2],numeri[3],numeri[4]);

}

7 Risposte

  • Re: Programma numeri

    Se inserisci 5 cifre perche il vettore contine 4 elementi?
  • Re: Programma numeri

    Perché nei vettori si conta anche la posizione 0. quindi in totale sono 5
  • Re: Programma numeri

    Non è vero, perché se scrivi

    int numeri[4];

    i numeri sono 4, con indice da 0 a 3

    Comunque ... la domanda qual è? In ogni caso, in quel modo non funziona ...

    Il vettore deve essere di 5 char
    
    char numeri[5];
    
    la for deve essere tra 0 e 5 e nella scanf devi usare il puntatore agli elementi.
    Inoltre i caratteri devono essere convertiti da ASCII al decimale.
    
    for (i=0; i<5; i++) {
    
    	scanf ("%c", &numeri[i]);	
    	numeri[i] -= '0';
    }
    
  • Re: Programma numeri

    //dovresti fare in questo modo:
    #include<iostream>//(libreria per input e autput)
    #include<iomanip>
    #include<conio.h>//(serve per la chiusura)
    using namespace std; //(stai programmando in c++. E' la stessa cosa del c solo che printf(") e' cout<<"; e scanf("%d",&n) e' cin>>n;
    int main()
    {
    const int dimensione = 1000;
    int vett[dimensione];
    int numeri;
    int dim;
    do
    {
    cout<<"Quanti numeri devi stampare sullo schermo?\nRisposta: ";
    cin>>dim;
    }
    while(dim>dimensione);
    for(int i=0; i<dim; i++)
    {
    cout<<"Inserisci un numero: ";
    cin>>vett;
    }
    system("CLS"); // (serve per pulire lo schermo)
    for(int i=0; i<dim; i++)
    {
    cout<<setw(5)<<vett; // (setw e' la funzione che ti fa lasciare lo spazio tra due numeri e funziona solo con la libreria iomaip. n sarebbe la distanza che vuoi tra i numeri: se vuoi lasciare una distanza di 5 caratteri allora scriverai cout<<setw(5)<<vett)
    }
    cout<<"\n\nFine.";
    getch(); // (funziona solo con la libreria conio.h)
    }
  • Re: Programma numeri

    getch(); // (funziona solo con la libreria conio.h)
    Stai programmando in C++. Basterebbe cin.get().
    conio.h non è standard.
    In un forum quando ci sono dei spezzoni di codice questi si racchiudono tra tag CODE.
  • Re: Programma numeri

    SOLUZIONE GENERALIZZATA A STRINGHE. SE VUOI SOLO INTERI BASTA CHE NON CARICHI LA STRINGA (VETTORE DI CARATTERI) MA UN VETTORE DI INTERI E POI LO SCANSIONI NEL MODO SEGUENTE
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define MAX 999

    int main(void){
    int i, len;
    char stringa[MAX];

    printf("Input:");
    gets(stringa);
    printf("STRINGA:%s.\n", stringa);
    len=strlen(stringa);
    printf("La lunghezza della stringa e': %d.\n", len);
    printf("OUTPUT:");
    for(i=0; i<len; i++){
    printf("%c ", stringa);
    }

    printf("\n");
    system("pause");
    return 0;
    }
  • Re: Programma numeri

    Ma perchè GRIDI?

    E poi non è vero che per gli interi basta usare un vettori di interi ... forse non hai letto tutto il thread per bene ...
Devi accedere o registrarti per scrivere nel forum
7 risposte