Esercizi in C per un amico!

lunedì 23 ottobre 2006 - 11.57

danyw3b Profilo | Newbie

Salve, vi chiedo se, per un mio caro amico, potete farmi questi due esercizi in C:

ESERCIZIO 1:

Scrivere un programma che calcoli la somma dei primi "n" numeri pari e dei primi "n" dispari, prendendo "n" in input. Effettuare all'interno del programma il calcolo tre volte: a) la prima volta usando due for b) la seconda volta usando due while c) la terza volta usando un unico for od un'unico while

INPUT: intero "n" OUTPUT: 6 interi (con un carattere di "\n" alla fine) es: dato in input n=3 l'output sarà 129129129\n, cioè la somma dei primi 3 numeri pari è 12 (2+4+6) e la somma dei primi 3 numeri dispari è 9 (1+3+5), ripetuto tre volte con le procedure descritte ai punti a),b),c).

ESERCIZIO 2:

Dato un intero reale positivo "a" in input, e la sequenza di numeri reali:

X0 = 1, X1=1/2*(X0+a/X0),...,Xi+1=1/2*(Xi+a/Xi) per i=0,1,2,...

si dimostra matematicamente che per valori grandi di i, la sequenza approssima la radice quadrata di "a" (deriva dal metodo di Newton-Raphson).

Scrivete un programma che legga "a" in input ed "n" numero di iterazioni e utilizzi questo metodo per il calcolo approssimato della radice quadrata. Non va, ovviamente, utilizzata la funzione sqrt della libreria standard. A ogni esecuzione del ciclo stampare il numero di iterazione, ed i valori di X1 (che converge alla radice quadrata di "a"). Utilizzare l'istruzione while.

INPUT: float "a" ed intero "n" OUTPUT: sequenza di coppie (iterazione):(valore di X1)\n dove (iterazione) è un intero e (valore di X1) è un float es: dato a=4 ed n=3 l'output sarà: 1:1\n 2:2.5\n 3:2.05\n


Mi ha detto che si può utilizzare esclusivamente la libreria stdio.h


Spero possiate darmi indirettamente una mano! :)
Software & Web Developer

gigi90 Profilo | Senior Member

Ecco il codice del primo esercizio:



Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

danyw3b Profilo | Newbie

Grazie!!!Per il secondo?
Software & Web Developer

gigi90 Profilo | Senior Member

Asp lo sto facendo

danyw3b Profilo | Newbie

Troppo gentile, attendo con ansia!
Software & Web Developer

gigi90 Profilo | Senior Member

Apetta ci sto riflettendo, ma che scuola fa il tuo amico???

danyw3b Profilo | Newbie

Primo anno di università! :D
Una cosa, il codice dell'esercizio 1, se compilato in c++ funziona egregiamente, se invece in C normale non va, comemai?Hai la variante in C?
Software & Web Developer

gigi90 Profilo | Senior Member

Quando crei un progetto c

non cancellare il main con gli argomenti ma incolla il codice nel main tra le parentesi { }:


Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
e compila fammi sapere

gigi90 Profilo | Senior Member

oppure inserisci nel main il seguente codice:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

gigi90 Profilo | Senior Member

Ecco il secondo esercizio:

#include "stdafx.h" #include "stdio.h" #include "stdlib.h" #define MAX 1000 int _tmain(int argc, _TCHAR* argv[]) { int n; float a; float X0=1; float X[MAX]; printf("Inserire a\n"); scanf("%f",&a); do{ printf("Inserire n\n"); scanf("%d",&n); }while(n>MAX); int i; X[0]=(float)1/2*(X0+a/X0); printf("1 %lf\n",X[0]); i=1; while(i<n){ X[i]=(float)1/2*(X[i-1]+a/X[i-1]); printf("%d %f\n",i+1,X[i]); i++; } system("pause");//Ferma l'esecuzione in console per consentire di vedere i risultati return 0; }

gigi90 Profilo | Senior Member

Toglimi una curiosità ma il tuo amico non li sà fare??

danyw3b Profilo | Newbie

Allora, quando compilo questo in C, non va, mi dice:


284x248 5Kb


Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Software & Web Developer

danyw3b Profilo | Newbie

Nel secondo esercizio, quando compilo mi dice:


284x248 5Kb

Software & Web Developer

gigi90 Profilo | Senior Member

Fai come ti ho detto: sostitutisci nel Main() il codice.

danyw3b Profilo | Newbie

Nada, non capisco!Potresti postarmi deirettamente te il codice modificato in C?Scusami, ma di C non so assolutamente nulla, uso altri linguaggi!Per favore, quando posti il codice, specifica a quale esercizio appartiene! :)
Software & Web Developer
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5