View Full Version : [C] Chi mi aiuta a correggere questo prog?
Ciao, sono sempre io....
si può sapere perchè tutte le volte che cerco di fare qualche semplice programma non riesco
Cmq...
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
float alt, media, somma;
int cont;
char risp;
do {
printf("Inserisci un altezza\n");
scanf("%f", &alt);
cont++ ;
somma=somma+alt;
printf("Vuoi inserire un'altra altezza s/n \n");
risp=getche();
} while(risp='s');
prinft("Il numero di altezze è %i\n", cont);
printf("la somma delle altezze è %f", somma);
media=somma/cont;
printf("la media delle altezze è %f", media);
system("PAUSE");
return 0;
}
Grazie per l'aiuto
ilsensine
28-03-2007, 14:54
float alt, media, somma;
int cont;
somma e cont non sono inizializzate a 0
} while(risp='s');
risp=='s'
prinft("Il numero di altezze è %i\n", cont);
Potevi almeno compilarlo...:D
(prinft -> printf)
Grazie, adesso devo fare lo stesso programma con while e for, vediamo che riesco a fare..
P.S. Non ho capito cosa ha detto bill nel 91, me lo traduci?
ok, ora ho un altro problema:
devo creare una tabella con tutti i numeri con tutti i numeri dall'uno al cento tipo
1........10
11.......20
etc....
99.......100
usando il ciclo for in C.
Vi ringrazio per il tempo che perderete a rispondermi.
Ciao, ecco qui
#include<stdio.h>
int main()
{
register int i, j;
int count = 0;
for (i=0; i<10; i++) { // cicla per 10 volte
for (j=0; j<10; j++) // itera 10 volte
printf("%d\t", ++count); //scrive il valore di count dopo averlo incrementato
printf("\n"); // va a capo
}
return 0; // esce correttamente (facoltativo)
}
Conta che l'ho scritto sul momento in fretta e furia e potrei aver fatto qualche errore di distrazione, ma non penso. Se ci sono dimmelo pure.
Ciao
Ciao, ecco qui
Conta che l'ho scritto sul momento in fretta e furia e potrei aver fatto qualche errore di distrazione, ma non penso. Se ci sono dimmelo pure.
Ciao
vedo che hai un solo msg nel contatore:
Benvenuto in HWUpgrade :)
Ti ringrazio per l'aiuto, il programma funziona, ma non lo capisco logicamente, capisci cosa intendo? Nel senso mi provi a spiegare i programmi cosa dicono di fare al computer, lo so che me l'hai già scritto di fianco, ma ancora non capisco:cry:
Thanks
mapomapo
28-03-2007, 20:34
se vuoi fare una "tabella" penso che la struttura dati più appropriata sia una matrice:
//{}
#include <stdio.h>
int main()
{
int matrice[10][10]; //Dichiarazione della struttura dati..
int i,j; //Dichiarazione indici della struttura dati..
int cont=1;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{
matrice[i][j]=cont;
cont++;
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
printf("%d\t", matrice[i][j]);
printf("\n");
}
}
così facendo hai i numeri "immagazzinati" quindi puoi accedere all'elemento [i][j]-esimo della matrice e manipolare l'eventuale valore che ti serve.
Vito
se vuoi fare una "tabella" penso che la struttura dati più appropriata sia una matrice:
//{}
#include <stdio.h>
int main()
{
int matrice[10][10]; //Dichiarazione della struttura dati..
int i,j; //Dichiarazione indici della struttura dati..
int cont=1;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{
matrice[i][j]=cont;
cont++;
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
printf("%d\t", matrice[i][j]);
printf("\n");
}
}
così facendo hai i numeri "immagazzinati" quindi puoi accedere all'elemento [i][j]-esimo della matrice e manipolare l'eventuale valore che ti serve.
Vito
Ringrazio anche te, ma le matrici non so cosa siano, non le ho ancora studiate:)
Grazie mille lo stessoooooooooo!!!
mapomapo
28-03-2007, 21:23
sai cosa è un vettore (array) ??
se no è inutile che ti spieghi cos'è una matrice direttamente...
Vito
sai cosa è un vettore (array) ??
se no è inutile che ti spieghi cos'è una matrice direttamente...
Vito
ehm....no
Grazie del benvenuto, cmq ti rispondo io. Prenditi un bel libro o cerca online che di roba ce n'è, e studia ;)
Segui il libro e non ci sarà nulla di difficile.
Non ho usato le matrici proprio per questo motivo. Visto la difficoltà che avevi in quei semplici programmi pensavo ancora non ci fossi arrivato a fare gli array multidimensionali. Poi non penso sia la soluzione più adatta una matrice. I numeri sono incrementati di volta in volta dello stesso valore, quindi non serve proprio fare un ciclo for in più solo per l'inserimento dei valori.
Cmq basta un po' di logica e un po' di pratica.. ma con allenamento costante ;)
Ciao
ilsensine
29-03-2007, 08:30
P.S. Non ho capito cosa ha detto bill nel 91, me lo traduci?
La traduzione la trovi qui:
http://www.hwupgrade.it/forum/showthread.php?t=634535
e qui:
http://www.hwupgrade.it/forum/showthread.php?t=982081
Ciao, avrei un altro problema....
Come faccio con il ciclo for a creare una cornice con degli asterischi?
Grazie
senza matrici è un lavoraccio.. dovresti impostrae una condizione lunghissima.
inizializzi 2 for annidati per quante sono le righe e colonne che ti servono ad esempio ipotizzando i righe e j colonne
for (i=0;i<10;i++) {
for (j=0;ij<10;j++) {
if(i==0&&(j==0||j==1||j==2||j==3||j==4 e così via ti scrivi tutta la condizione );
printf("*");
}}
forse c è un modo + semplice che io non conosco perchè è da poco che studio c e poi senza matrici non si riesce a fare molto.. cmq questo dovrebbe funzionare se scrivi bene le condizioni per ogni posizione in cui va fatto l asterisco
senza matrici è un lavoraccio.. dovresti impostrae una condizione lunghissima.
inizializzi 2 for annidati per quante sono le righe e colonne che ti servono ad esempio ipotizzando i righe e j colonne
for (i=0;i<10;i++) {
for (j=0;ij<10;j++) {
if(i==0&&(j==0||j==1||j==2||j==3||j==4 e così via ti scrivi tutta la condizione );
printf("*");
}}
forse c è un modo + semplice che io non conosco perchè è da poco che studio c e poi senza matrici non si riesce a fare molto.. cmq questo dovrebbe funzionare se scrivi bene le condizioni per ogni posizione in cui va fatto l asterisco
2msg? Benvenuto nel Forum !!
(ma tutti i novizi l'incontro io?, va bè sono contento cmq)
Cmq ci dovrenne essere un metodo più semplice me l'ha spiegato il proff, ma ora non me lo ricordo più...
#include <stdio.h>
#define ALTEZZA 10
#define LUNGHEZZA 10
int main()
{
register int i, k;
for (i=1; i<=ALTEZZA; i++) {
if ((i==1) || (i==ALTEZZA))
for (k=1; k<=LUNGHEZZA; k++)
printf("*");
else {
printf("*");
for (k=1; k<=(LUNGHEZZA-2); k++)
printf(" ");
printf("*");
}
printf("\n");
}
}
Imposti l'altezza e la larghezza nelle costanti (quelle dopo #define) e il quadrato te lo fa da sé :)
Daniel
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.