Avrei bisogno di un aiuto per programmare in C.
Mi servirebbe la risoluzione di due programmi abbastanza semplici.
Grazie.
Avrei bisogno di un aiuto per programmare in C.
Mi servirebbe la risoluzione di due programmi abbastanza semplici.
Grazie.
ciao, qual'è il tuo problema. Fammi vedere e vediamo se posso darti una mano. Ciao....
Ciao, grazie mille per aver risposto.
Il mio problema è portare i due programmini dell'esame scritto all'orale, risolti che girino.
Lunedì 9 li avrò: intanto cercavo qualcuno (io in C sono impedito).
Se non ti reca troppo disturbo mi faresti un grossissimo favore.
Quello sotto è un tipico esercizio.
ciao
---------------------------------------------------------------------
Si scriva in linguaggio C la funzione void num_morse (int n, char s[]) che scrive nella stringa s la rappresentazione in codice morse del numero n.
Si utilizzi un carattere ‘-’ per indicare il punto, una sequenza di tre caratteri ‘-’ per indicare una linea (cioè “---”), uno spazio per separare un simbolo del codice morse (punto o linea) dal successivo, tre spazi per separare una cifra dalla successiva.
La codifica delle siongole cifre in codice morse è memorizzata nel seguente vettore di stringhe dichiarato come variabile
globale (‘P’ = punto, ‘L’ = linea):
char *nmorse[] = { "LLLLL", "PLLLL","PPLLL","PPPLL","PPPPL", "PPPPP","LPPPP","LLPPP","LLLPP","LLLLP" }
(Quindi nmorse[1]è la stringa "PLLLL", nmorse[5]è la stringa "PPPPP", ecc.).
Esempi:
N = 23 Þ s[] = "- - --- --- --- - - - --- --- "
N = 501 Þ s[] = "- - - - - --- --- --- --- --- - --- --- --- --- "
#include <stdio.h>
#include <stdlib.h>
char *nmorse[10] =
{ "LLLLL", "PLLLL", "PPLLL", "PPPLL", "PPPPL",
"PPPPP", "LPPPP", "LLPPP", "LLLPP", "LLLLP" };
void num_morse (int n, char s[]);
void aggiungi_cifra_morse (char s[], char t[]);
int main (int argc, char *argv[])
{
char s[1024];
if (argc != 2)
{
printf ("numero di parametri errato\n");
exit (EXIT_SUCCESS);
}
num_morse (atoi(argv[1]), s);
puts (s);
return EXIT_SUCCESS;
}
void num_morse (int n, char s[])
{
int i, cifra, potenza;
potenza = 10;
while potenza *= 10;
potenza /= 10;
s[0] = '\0';
while (potenza > 0)
{
cifra = n / potenza;
n = n % potenza;
potenza /= 10;
aggiungi_cifra_morse (s, nmorse[cifra]);
}
return;
}
void aggiungi_cifra_morse (char s[], char t[])
{
int i, j;
for (i = 0; s[i] != '\0'; i++);
for (j = 0; t[j] != '\0'; j++)
{
if (t[j] == 'P')
{
s[i++] = '-';
s[i++] = ' ';
}
else
{
s[i++] = '-';
s[i++] = '-';
s[i++] = '-';
s[i++] = ' ';
}
}
s[i++] = ' ';
s[i++] = ' ';
s[i] = '\0';
return;
}
Ciao che problemi hai????
Se mi descrivi l'algoritmo o hai qualche problema con il codice fammi sapere ti do una mano
ciao tim21, ho ricevuto la tua e-mail...Ok, poso darti una mano, sempre nei miei limiti...Ciao...
P.S.
è quello di sopra il listato che ti devo analizzare?
Quello sopra è solo un esempio del livello degli esercizi.
Quello da mettere a posto lo metterò qui su html lunedì sera quando lo avrò.
Comunque ti ringrazio in anticipo e dovrò sdebitarmi in qualche modo,
ciao.