Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - programma in C
Forum - C/C++ - programma in C

Avatar
morpheus (Normal User)
Newbie


Messaggi: 12
Iscritto: 30/09/2008

Segnala al moderatore
Postato alle 15:28
Martedì, 18/11/2008
salve avrei da kiedervi qlksina. diciamo ke sn alle prime armi kn la programmazione in C e h da fare il seguente problema: si chiede all'utente di inserire 20 n interi. il programma deve copiare il vettore principale in uno sekondario. si ordini il principale in ordine crescente e il sekondario in qllo decrescente . si kiede poi la media dei valori ineriti. Qualkuno mi sa dare una mano xk nn riesco a kapire?? le mie konoscenze sono controlli(if) e cicli for. qlkn mi da una mano x poterlo fare solo in C? grazie

PM Quote
Avatar
Overflow (Normal User)
Expert


Messaggi: 334
Iscritto: 11/01/2008

Segnala al moderatore
Postato alle 20:26
Martedì, 18/11/2008
dovresti iniziare a scrivere il codice anche tu. Non puoi pensare di venire qua e trovare qualcuno che ti scriva il codice.

Comunque il codice potrebbe essere cosi:
Codice sorgente - presumibilmente C#

  1. #include <stdio.h>
  2. #define MAX 10
  3.  
  4.  
  5. void sort_dec(int * num);
  6. void sort_asc(int * num);
  7. void swap(int *a,int *b);
  8. double get_medium_val(int * num);
  9. void print(int * num);
  10.  
  11. int main()
  12. {
  13.         int n=10,i=0;
  14.         int num[MAX], num_s[MAX];
  15.  
  16.         printf("Inserisci %d numeri\n",MAX);
  17.         do
  18.         {
  19.                 /*salvo i numeri che inserisce l'utente negli array*/
  20.                 scanf("%d",&num[i]);
  21.                 num_s[i]=num[i++];
  22.         }
  23.         while(--n > 0);
  24.        
  25.         sort_dec(num);  /*ordino in modo decrescente l'array num*/
  26.         sort_asc(num_s); /*ordino in modo crescente l'array num_s*/
  27.         printf("%s\n","I valori in ordine decrescente:");
  28.         print(num);     /*stampo i valori di num*/
  29.         printf("%s\n","I valori in ordine crescente:");
  30.         print(num_s); /*stampo i valori di num_s*/
  31.         printf("Il valore medio e' %2.3f ",get_medium_val(num));/*stampo il valore medio con le opportune cifre decimali*/
  32.  
  33.         return 0;
  34. }
  35.  
  36. void sort_dec(int * num)
  37. {
  38.         /*ordinamento decrescente*/
  39.         for(int i=0;i<MAX;i++)
  40.                 for(int j=i+1;j<MAX;j++)
  41.                         if(num[j]>num[i])
  42.                                 swap(&num[i],&num[j]);
  43. }
  44.  
  45. void sort_asc(int * num)
  46. {
  47.         /*ordinamento crescente*/
  48.         for(int i=0;i<MAX;i++)
  49.                 for(int j=i+1;j<MAX;j++)
  50.                         if(num[j]<num[i])
  51.                                 swap(&num[i],&num[j]);
  52. }
  53.  
  54. void swap(int *a,int *b)
  55. {
  56.         /*inverte il valore di due variabili*/
  57.         int tmp = *b;
  58.         *b = *a;
  59.         *a = tmp;
  60. }
  61.  
  62. double get_medium_val(int * num)
  63. {
  64.         /*ritorna il valore medio di tutti i valori di num*/
  65.         double somma=0;
  66.         for(int i=0;i<MAX;i++)
  67.                 somma += num[i];
  68.         return somma/MAX;
  69. }
  70. void print(int * num)
  71. {
  72.         /*stampa tutti i valori di num*/
  73.         for(int i=0;i<MAX;i++)
  74.                 printf("%d\t ",num[i]);
  75. }


Ma prova a scrivere un codice tuo e a postarlo. Chiedi quando hai difficoltà e non sai andare avanti, ma non cercare la pappa pronta venendo qui.

PM Quote