PROBLEMA C++; passaggio ordinamento e ricerca di un vettore in int a char

Liris

Nuovo Utente
1
0
Salve gente, prima di tutto inizio con lo scusarmi di non essermi presentato nella sezione apposita <_<
Domani ho una maledetta prova scritta di informatica (c++) e l'insegnante ci ha detto cosa bisogna sapere.
Io ho questo programma che riguarda funzioni di ordinamento e ricerca del vettore ma è solo per numeri interi.
Codice:
#include <stdio.h>
#define MAX_ELE 1000
int vet[MAX_ELE];
void gestionesequenza(void);
int immissione(void);
void ordinamento(int);
int ricerca(int, int);
void visualizzazione(int);


int main(void)
{
    gestionesequenza();
}
void gestionesequenza()
{
     int n;
     int scelta=-1;
     int ele,posizione;
     while(scelta!=0){
                       n=immissione();
                       ordinamento(n);
                       printf("elemento da ricercare: ");
                                             scanf("%d", &ele);
                                             scanf("%c",&invio);
                                             posizione=ricerca(n,ele);
                                             if(ele==vet[posizione])
                                             printf("\nElemento %d presente in posizione %d",ele, posizione);
                                             else
                                             printf("\nElemento non presente");
                                             printf("\nPremere invio per continuare");
                                             scanf("%c",&invio);
                                            
                       visualizzazione(n);
                                             
                                     }
                      
     }
     int immissione()
     {
         int i,n;
         do {
             printf("\nNumero elementi: ");
             scanf("%d",&n);
             }
             while (n<1 || n>MAX_ELE);
             for(i=0;i<n;i++){
                              printf("\nImmettere un intero n.%d: ",i);
                              scanf("%d", &vet[i]);
                              }
             return(n);
     }
     void ordinamento(int n)
     {
          int i,p,k,n1;
          int aux;
          p=n; n1=p;
          do {
              k=0;
              for(i=0;i<n1-1;i++)
              if(vet[i]>vet[i+1]){
                                  aux=vet[i]; vet[i]=vet[i+1];
                                  vet[i+1]=aux;
                                  k=1; p=i+1;
                                  }
                                  n1=p;
              }
              while(k==1&&n1>1);
     }
     int ricerca (int n, int ele)
     {
         int i=0;
         while(ele!=vet[i]&&i<n-1) i++;
         return (i);
     }
     void visualizzazione(int n)
     {
          int i;
          char invio;
          for(i=0;i<n;i++)
          printf("\n%d",vet[i]);
          printf("\n\n\n\n\n Premere invio per continuare");
          scanf("%c",&invio);
     }
Il problema è che non sò cosa cambiare per far funzionare correttamente il programma da int a char :grat:
potete aiutarmi per favore? T_T
 
Ultima modifica:

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
Il problema è che non sò cosa cambiare per far funzionare correttamente il programma da int a char :grat:
potete aiutarmi per favore? T_T
Il procedimento è un pochino ostico e lungo, ma vedrai che una volta assimilato ti verrà naturale.
I passaggi da effettuare sono:
Codice:
char vet [MAX_ELE];
Ti chiederai perché tanti passaggi
Dovresti sapere che ad un intero vengono tipicamente assegnati 4 bytes, mentre ad un char 1. Pertanto un intero può memorizzare caratteri. (32/8 = 4 caratteri). Puoi approfondire qui.

Cheers!
 

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando

Hot: E3 2021, chi ti è piaciuto di più?

  • Ubisoft

    Voti: 30 22.7%
  • Gearbox

    Voti: 2 1.5%
  • Xbox & Bethesda

    Voti: 86 65.2%
  • Square Enix

    Voti: 10 7.6%
  • Capcom

    Voti: 6 4.5%
  • Nintendo

    Voti: 18 13.6%
  • Altro (Specificare)

    Voti: 11 8.3%

Discussioni Simili