moltiplicazioni, divisione e potenza mediante funzioni ricorsive

15 luglio 2010 - Fonte: http://www.thecsea.it/tutorial
Oggi illustro le funzioni ricorsive per eseguire le somme, divisioni e potenze successive, spiegate in modo iterativo su http://www.thecsea.it/tutorial/?p=268 Vediamo prima la più semplice e cioè la moltiplicazione: #include<stdio.h> #define MAX 100 int moltiplica(int a, int b); int main(){ //dichiarazioni int a,b; //acquisizione do{ printf("inserisci a : "); scanf("%d",&a); printf("inserisci b : "); scanf("%d",&b); }while(a [...]...

Leggi il seguito »

operazioni successive : moltiplicazione, divisione e potenza

15 luglio 2010 - Fonte: http://www.thecsea.it/tutorial
Oggi vediamo come fare le semplici operazioni di addizione e sottrazione, in modo iterativo. Vediamo prima la più semplice e cioè la moltiplicazione: #include<stdio.h> int main(){ //dichiarazioni int i,num1,num2,tot=0; //acquisizione dati printf("inserire il primo numero : "); scanf("%d",&num1); printf("inserire il secondo numero : "); scanf("%d",&num2); //calcoli for(i=1;i<=num2;i++){ tot += num1; } //visualizzazione risultati printf("%d * [...]...

Leggi il seguito »

strtoupper e strtolower in c

14 luglio 2010 - Fonte: http://www.thecsea.it/tutorial
Oggi vediamo come creare strtoupper e strtolower, cioè le due funzioni che convertono rispettivamente tutto in maiusco e in minuscolo. Vediamo i codici: void strtoupper(char *str){ int len = strlen(str), i; for(i=0;i<len;i++) if(str[i]>='a' && str[i]<='z') str[i] = str[i]-'a'+'A'; } void strtoupper(char *str){ int len = strlen(str), i; for(i=0;i<len;i++) if(str[i]>='A' && str[i]<='Z') str[i] = str[i]-'A'+'a'; } [...]...

Leggi il seguito »

Sostituto di gets(char *str) del c

22 giugno 2010 - Fonte: http://www.thecsea.it/tutorial

A chi non è mai capitato di voler acquisire una stringa con degli spazzi ed dover utilizzare quindi gets, ma compilando con gcc il suo utilizzo viene segnalato con un errore di warning in quanto viene considerata un’espressione pericolosa?

Oggi vediamo due possibili soluzioni:

1°:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdio.h>
#define MAX 1000
void acquisisci(char *str);
...

Leggi il seguito »

calcolo del massimo di un vettore in modo ricorsivo

19 giugno 2010 - Fonte: http://www.thecsea.it/tutorial

Oggi vediamo come calcolare in modo ricorsivo il masismo di un vettore.

Il codice che useremo è il seguente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdio.h>
#define MAX 100
int max(int vet[],int n);
int mainLeggi il seguito »

     		     

perché non usare le funzioni ricorsive?

27 maggio 2010 - Fonte: http://www.thecsea.it/tutorial
Vediamo oggi gli svantaggi dell’uso delle funzioni ricorsive, con un tipico esempio di funzione ricorsiva : la successione di Fibonacci. Per chi non si ricordasse che cosa è la successione di Fibonacci : è una successione che ha come primi due numeri 0 ed 1 e poi gli altri si ricavano sommando i due numeri [...]...

Leggi il seguito »

calcolo dei numeri primi

26 maggio 2010 - Fonte: http://www.thecsea.it/tutorial
Vediamo oggi due algoritmi per il calcolo dei numeri primi e vediamo come usando un pò più di ram si riesce ad ottimizzare di un bel po’ il programma. Un modo semplice per il calcolo dei numeri primi di un numero è utilizzare una funzione che ogni volta controlla se un numero passato come parametro [...]...

Leggi il seguito »

velocità linguaggi

24 maggio 2010 - Fonte: http://www.thecsea.it/tutorial
Abbiamo testato un semplice ciclo in diversi linguaggi(interpretati e compilati), senza considerare le velocità di compilazione i tempi(sotto linux) sono stati i seguenti: php : 0.344 php usando gli oggetti : 0.372 c : 0.120 c++ : 0.340 java : 1.968 python : 0.744 perl : 0.288 mentre le velocità di compilazione sono state le [...]...

Leggi il seguito »

chat da terminale

15 aprile 2010 - Fonte: http://www.thecsea.it/tutorial
Vediamo oggi come creare una semplice chat da terminale. ATTENZIONE : il programma è progettato per linux o altri sistemi POSIX in pratica il programma consiste in una semplice copia del testo in input in un altro terminale con varie formattazioni(come ad esempio l’inseriemtno del nome al testo della chat). Il codice è il seguente: [...]...

Leggi il seguito »

Marble software per visualizzare le carte di tipo geografico usufruisce delle mappe del progetto OpenStreetMap

9 marzo 2010 - Fonte: http://www.openstreetmapitalia.it
Marble è un software libero e gratuito rilasciato sotto licenza GNU LGPL che permette di visualizzare carte di tipo geografico. L’applicativo Marble si  è arricchito di nuove componenti grazie all’integrazione di un plug-in che le permette di visualizzare e sfruttare le  mille potenzialità delle mappe del progetto OpenStreetMap. L’ IDE ed il software Marble è stato [...]...

Leggi il seguito »