PDA

View Full Version : Help rapido per C


h1jack3r
20-01-2004, 14:24
Ciao, ho un dubbio che mi assilla
sapete dirmi a cosa serve l'operatore % in C?
ad esempio se ho
r=a%i;
dove r,a e i sono interi, cosa mi succede?
Thanks

recoil
20-01-2004, 14:50
è l'operazione di modulo

h1jack3r
20-01-2004, 14:56
dunque ad esempio

i=%-3
i mi diventa 3

e se faccio
i=3%2
i cosa mi diventa?

recoil
20-01-2004, 15:04
hai presente l'aritmetica modulare?

cmq 3 % 2 fa 1

l'operatore di modulo puoi vederlo come il resto della divisione

3 / 2 = 1 + 1 e quest'ultimo 1 è il resto ed è il risultato del modulo
4 / 2 = 2 + 0 infatti 4 % 2 ti da 0

capito?

h1jack3r
20-01-2004, 15:07
ok perfetto grazie

h1jack3r
20-01-2004, 15:16
ascolta, mi sapresti dare un paio di esercizi in C in modo che posa "allenarmi" all'esame? considera che non ci richiedono gran cose...vettori e matrici saperli usare ma niente puntatori e cose del genere.

recoil
20-01-2004, 16:20
Originariamente inviato da h1jack3r
ascolta, mi sapresti dare un paio di esercizi in C in modo che posa "allenarmi" all'esame? considera che non ci richiedono gran cose...vettori e matrici saperli usare ma niente puntatori e cose del genere.

dovrei sapere che tipo di esame si tratta

le cose da fare sono sempre le stesse bene o male

h1jack3r
20-01-2004, 16:23
elementi di informatica

considera che abbiamo visto i vari cicli, i vettori dunque anceh le matrici.
NOn abbiamo visto puntatori e tutta quella parte e nemmeno le funzioni, facciamo solo programmi con la bella main()

recoil
20-01-2004, 16:56
fai un programmino per ordinare una sequenza di numeri, mi pare un buon esercizio...

h1jack3r
20-01-2004, 17:02
lo avevo già fatto eccolo qui

#include <stdio.h>
#include <conio.h>

#define DIM 5
/*Ordina un vettore di numeri interi*/

void main()
{
int v[DIM],h,i,j,min,temp;

for(i=0;i<DIM;i++)
{
printf("\nInserisci numero: ");
scanf("%d",&v[i]);
}
for(i=0;i<DIM;i++)
{
min=v[i];
h=i;
for(j=i;j<DIM;j++)
{
if(min>v[j])
{
min=v[j];
h=j;
}
}
temp=v[i];
v[i]=min;
v[h]=temp;
}
for(i=0;i<DIM;i++)
printf("%d, ",v[i]);

}

mi sai dire un altro esempio?

cipi
21-01-2004, 15:26
Originariamente inviato da h1jack3r
mi sai dire un altro esempio?
Il programma così come l'hai fatto è ok... ma è lento. Perchè non provi a pensare di velocizzarlo ideando qualche altra procedura? Eventualmente guarda "bubble sort" o cose simili... si impara molto anche a vedere come gli altri ragionano e programmano...
Altri esercizi tipici, se proprio non ti va di farlo, potrebbe essere quello di stampare il triangolo di Tartaglia, calcolare un prodotto matriciale o... un calcolo 3D col metodo delle celle :D Scherzo, lascia stare l'ultima opzione!
ciao ;)