Sei sulla pagina 1di 5

conversione binario decimale e viceversa

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
int main()
{
int c;
char se;
printf("Inserisci A per svolgere l'operazione in binario-decimale, B per
decimale-binario: \n");
scanf("%c", &se);
c=toupper(se); //in modo da rendere maiuscole le lettere a e b

if(c=='A')
{
int esp=8;
int a;
int vett[8];
int i;
int somma;
int somma2=0;

printf("Inserisci un numero binario a 8 bit premendo invio dopo ogni cifra \


n");

for(i=0;i<8;i++)
{
scanf("%d", &vett[i]); // ciclo for per scrivere un numero binario a 8 bit
if(vett[i]>1){
printf("RIAVVIA IL PROGRAMMA"); // se una casella di vett è > 1, blocca
tutto
break;
}
esp--;

somma=pow(2,esp); //somma è uguale a 2 elevato al numero che equivale


esp

a=vett[i]*somma;

somma2=somma2+a;

}
printf("Il numero decimale è %d", somma2);
}

else
if(c=='B')
{
int binario[10];
int i;
int k;
int n;
printf ("Inserisci un numero decimale \n");
scanf ("%d", &n);
k = 0; //variabile che userò per le
posizioni dell'array
while (n!=0) //se il numero è diverso da
0 ....
{
if (n%2 == 1)
binario[k] = 1; //metterà 1 nella posizione
dell'array indicato da k
else
binario[k] = 0;
n /= 2;
k++; //incremento di 1 k in modo da
far "scalare" la posizione dell'array

printf("Il numero binario è ");


for(i=k-1;i>=0;i--) //k-1 è per gli indici(0,1,2,3...). i>=0 e i--
per visualizzare solo i numeri 0 e 1
printf("%d",binario[i]);
return 0;
}

}
___________________________________________________________________________________
________________-
inversione array

Inversione array
Antonio Risoluto

22 gen
100 punti
Scadenza: 29 gen, 23:59
Caricare in un array 50 valori casuali interi, visualizzare il vettore .
Invertire il vettore e visualizzare nuovamente il vettore .
Commenti sul corso
Il tuo lavoro
Consegnato

es array.txt
Testo
Commenti privati
Inversione array
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int num[50];
int i=0;
srand(time(NULL));

for(int i=0;i<50;i++)
{
num[i]=0;

for(int i=0;i<50;i++)
{
num[i]=rand()%100 + 1;
printf("%d \n",num);
}
}

for(int i=50;i>1;i--)
{
num[i]=i;
printf("%d \n",num[i]);
}

return 0;
}
___________________________________________________________________________________
somma pari dispari

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int num[10];
int i=0;
srand(time(NULL));
int totP;
int totD;

for(int i=0;i<10;i++)
num[i]=0;

for(int i=10;i>=1;i--)
{
num[i]= rand()%100 - 1;
printf("%d\n",num[i]);
if(i%2==0)
totP+=num[i];
else
totD+=num[i];

}
printf("\ntotale negli indici pari %d, totale negli indici dispari
%d",totP,totD);
return 0;
}
_______________________________________________________________________________
bubble sort

#include <stdio.h>

int main()
{
int array[100], n, c, d, swap;

printf("Enter number of elements\n");


scanf("%d", &n);

printf("Enter %d integers\n", n);


for (c = 0; c < n; c++)
scanf("%d", &array[c]);

for (c = 0 ; c < n - 1; c++)


{
for (d = 0 ; d < n - c - 1; d++)
{
if (array[d] > array[d+1]) /* For decreasing order use '<' instead of '>' */
{
swap = array[d];
array[d] = array[d+1];
array[d+1] = swap;
}
}
}

printf("Sorted list in ascending order:\n");

for (c = 0; c < n; c++)


printf("%d\n", array[c]);

return 0;
}

___________________________________________________________________________________
_
ricerca dicotomica

#include <stdlib.h>
#include <stdio.h>
#define N 10 // dimensione del vettore B

int ricerca(int cercaN, int start, int LIM);

int B[N] = {1, 2, 6, 23, 31, 32, 54, 76, 90, 99};

int main(void) {
int start = 0, LIM = N, cercaN, ris; // start (valore iniziale), limit (valore
finale), valore da cercare, risultato

printf("Valore da cercare: ");


scanf("%d", &cercaN);

ris = ricerca(cercaN, start, LIM);


if(ris ==-1)
printf("Non trovato\n");
else
printf("Trovato in posizione: %d\n", ris);

return 0;
}

int ricerca(int cercaN, int start, int LIM) {


int k, ris = -1;

while(LIM>=start) {
k = (LIM+start)/2;

if(B[k] == cercaN) {
ris = k;
break;
}
else if(B[k] > cercaN)
LIM = k-1;
else if(B[k] < cercaN)
start = k+1;
}

return ris;
}
________________________________________________________________________

(ris ==-1) ? printf("Non trovato\n") : printf("Trovato in posizione: %d\n", ris);

__________________________________________________________________________________

distanza di hamming

#include <stdio.h>
#include <string.h>

int main()
{
char vett1[8];
char vett2[8];
int i;
int cont=0;
int lunghezza;

printf("Inserisci il primo codice: ");


scanf("%s", &vett1);
printf("Inserisci il secondo codice: ");
scanf("%s", &vett2);

lunghezza = strlen(vett1);

for(i=0; i<lunghezza; i++)


{
if(vett1[i] != vett2[i])
{
cont++;
}
}

printf("La distanza di Hamming è: %d", cont);


return 0;
}

Potrebbero piacerti anche