C, cercasi dispense

Bob_inch
Salve, sono alle prese con C.
Qualcuno saprebbe indicarmi dispense con programmi svolti e commentati?

Grazie >.<

Risposte
Sk_Anonymous
Prova a dirmi a che livello sei, così vedo se ho qualcosa di interessante :-D

Bob_inch
"matths87":
Prova a dirmi a che livello sei, così vedo se ho qualcosa di interessante :-D


Neofita, lo sto studiando da 4/5 gg. Più che dispense gradirei codici di programmi già svolti.

Per farti capire a che livello sono: come si calcola la somma dei primi 100 numeri naturali?
----

#include

/* Programma che calcola la somma dei primi cento numeri */

int i, sx;

main ()
{
for (i=0; i<=99; i++)
sx= i + 1;
printf ("La somma e' %d\n", sx);
getchar (); getchar ();
}

-----

Ecco, non so se funziona o meno visto che il dev++ è morto!

alvinlee881
Questa che ti propongo è proprio una dispensina introduttiva, spero possa esserti utile all'inizio ma non può certo sostituire i libri di testo. Mette in luce le cose fondamentali sinteticamente e con esempi. Ma ti serve un bel libro, o delle lezioni. E tanta pratica.
A te:
http://www.iit.cnr.it/staff/paolo.santi/

Megan00b
oddio...ora che gli hai postato quel link anche lui si vedrà comparire sullo schermo i malefici occhi azzurri...lol!

Bob_inch
Sergio, non sapevo che fossi un entusiasta sostenitore del C! (P.S.: l'esame di algebra e geometria è andato bene :))

Io studio sul A. Bellini e A. Guidi, sembra adatto per i neofiti.

STL87
"Bob_inch":
Salve, sono alle prese con C.
Qualcuno saprebbe indicarmi dispense con programmi svolti e commentati?

Grazie >.<


c'è una guida c online molto ben fatta su programmazione.html.it...per iniziare dà una grande mano...

Bob_inch
Mi sa che continuando così, ci restero' a vita! :D

Questo dovrebbe essere un programma che mi calcola la somma dei primi cento numeri interi dispari.
----
#include
int i, somma;
main ()
{
somma=0;
for (i=0; i<=100; i++)
somma+=2i+1; /* Qui ci dovrebbe essere un errore che ignoro*/
printf ("La somma è: %d", somma);
getchar();
}
-----
/*Così invece non funziona neanche (in quello di soprea c'è un errore sintattico, in questo sottostante uno di tipo logico */

#include
int i, somma;
main ()
{
somma=0;
for (i=0; i<=100; i++)
somma+=i && somma!=2i;
printf ("La somma è: %d", somma);
getchar();
}

---

Mi pento di aver perso tanto tempo dinanzi Photoshop&Illustrator, avrei potuto studiare C! :(

enigmagame
Per la somma dei primi cento numeri dispari potresti utilizzare questo codice:
#include <stdio.h>

int i, somma;

int main(int argc, char* argv[])
{
	somma = 0;

	for(i = 0; i < 100; i++)
	{
		if((i % 2) != 0)
			somma += i;
	}

	printf("La somma è: %d\n", somma);

	return 0;
}

oppure, evidanto il ciclo, puoi utilizzare:
somma = $n^2$ dove n è il numero di addendi che compongono la serie.
somma = $((N+1)/2)^2$ dove N è il numero più grande della serie (100).
Ciao.

Bob_inch
Altro programmino che calcola la somma della serie armonica fissato un m dato dall'utente.
Non capisco perché non gira, crasha.



#include <stdio.h>
#define k 1

int m, sx, i;
main () {
     printf("Immetti m: ");
     scanf("%d", &m);
     if(m==1)
     printf("La somma della serie e' 1");
     else
     if (m!=1 && m!=0){
     sx=0;
     for (i=0; i<=m; i++)
     sx+=1/i;
     printf("La serie per tale m ha somma %d", sx);
     }
     getchar();
     }
          



:|

Bob_inch
Grazie, che sbadato che sono. Ora non crasha ma non funziona. GRR

Bob_inch
"Sergio":
[quote="Bob_inch"]Grazie, che sbadato che sono. Ora non crasha ma non funziona. GRR

Ehm.... diciamo che l'insieme degli interi non è chiuso rispetto alla divisione ;-)
Insomma: non puoi lavorare su interi ed ottenere come risultato un numero reale.
Prova a dichiarare sx come double (cambiando, ovviamente, anche la printf).[/quote]

Se tu fossi un compilatore, ti donerei via PayPal tutti i miei averi! :D

Bob_inch
Qualcuno per caso è a conoscenza del comando "flag"? :|

Mi riferisco a:
#include <stdio.h>
#include <stdlib.h>

int main ()
{
    int dim;
    int i, j, flag=0;
    
    printf ("Inserire valore(maggiore di 2): ");
    scanf  ("%d", &dim);
    
    for ( i=2; i<=dim; i++ ) {
        flag=0;
        for ( j=2; j<i && flag==0; j++ ) {
            if ( (i%j) == 0 )
               flag=1;
        }
        if ( flag == 0 )
           printf ("%4d", i);
    }
    printf ("\n");
    system ("pause");
}   


tratto da http://forum.html.it/forum/showthread.p ... id=1214796

Grazie

Bob_inch
Grazie Sergio per i tuoi chiarimenti.

Ora sono alle prese con una matrice 10x15 caricata con numeri casuali di cui devo visualizzare tutti i numeri della colonna che contiene il numero più grande fra quelli caricati nella matrice.


#include <stdlib.h>
#include <time.h>
#include <stdio.h>

int A[10][15];
int i, j, max;
main(){
       srand((unsigned)time(NULL));
       for(i=0;i<10;i++)
       for(j=0;j<15;j++) {
                         A[i][j]=rand()%100;
                         }
                           for(i=0;i<10;i++){
                                             printf("\n");
                                             for(j=0;j<15;j++)
                                             printf("%5d", A[i][j]);
                                             }
      
                                             printf("\n");
                                             A[0][0]=max=0;
     for(i=0;i<10;i++)
       for(j=0;j<15;j++) {
                         if (A[i][j]>max)
                         A[i][j]=max;
                         }
                         for(i=0;i<10;i++){
                                  printf("\n");         
                         for(j=0;j<15;j++)
                         printf("%3d", max);                                       
                         }                 
                                                  
                         getchar();getchar();
}


La visualizzazione della matrice mi sembra che vada bene.
Invece non so gestire gli elementi della matrice; e nel libro non vi sono nemmeno esempi di programmi già svolti (che calcolano la somma degli elementi nella diagonale principale, oppero sommano tutti i numeri presenti in una colonna, etc.).

Grazie:)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.