Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main (){
  4.  
  5. int i=0; // contatore num pari
  6. int j=0; // contatore num positivi
  7.  
  8.  
  9. int min = 0; //inizializzati a zero perché ancora non inserisco nulla
  10. int max = 0; // "
  11.  
  12. int prec = 0; // numero precedente e provvisorio. mi serve nella differenza tra numero correntemente letto e numero precedente
  13. // per questo lo inserisco a fine ciclo, in modo tale che non venga cambiato il suo valore prima del calcolo
  14. // della differenza
  15. int diff = 0;
  16. int trend = 0; // trend ++ la seq. decresce. trend -- la seq. cresce. !FUNZIONA AL CONTRARIO! perché l'ultimo numero inserito è il 10 non l'1!!!!
  17. // se trend = k --> seq decrescente. se trend = -k --> crescente. altrimenti nulla
  18.  
  19. int n; // numero da inserire
  20. int k; // indice for
  21. // corrisponderà ai numeri totali! ossia 10
  22. // si poteva anche evitare k, essendo sempre e solo 10 i numeri da inserire,
  23. // ma caso mai dovessi rendere ""dinamico"" l'esercizio chiedendo quanti numeri si vogliono inserire
  24. // k sarà utile.
  25.  
  26.  
  27.  
  28. for(k=0; k<=9; k++){
  29. printf("inserire num [%d]: ", k+1); // k+1 altrimenti stampo 0 al primo (così esce scritto inserire numero 1)
  30. // non assegna a k k+1!!! è solo interno al printf!!!!!!!!
  31. scanf("%d", &n);
  32.  
  33. if(n>max){
  34. max = n;
  35. }
  36. if(n < min){
  37. min = n;
  38. }
  39.  
  40. // n%2 dà 0 se n diviso 2 dà resto 0
  41. // ossia se n è divisibile per due
  42. if((n%2)==0){
  43. i++;
  44. }
  45.  
  46. // controllo i numeri maggiori di 0
  47. if(n>0){
  48. j++;
  49. diff = prec - n;
  50. } else {
  51. diff = prec + n;
  52. }
  53.  
  54. if(diff > 0){
  55. trend++;
  56. }
  57. if(diff < 0){
  58. trend--;
  59. }
  60.  
  61. prec = n;
  62. }
  63.  
  64. if (trend == k){
  65. printf("Sequenza decrescente.");
  66. }
  67. else if (trend == (-k)){
  68. printf("Sequenza crescente.");
  69. }
  70. else {
  71. printf("Sequenza ne' crescente ne' decrescente.");
  72. }
  73.  
  74. int q = k - i; // num dispari : numeri totali - numeri pari
  75. int s = k - j; // num negativi: numeri totali - numeri positivi
  76.  
  77. printf("\nnumeri pari: %d\tdispari: %d", i, q);
  78. printf("\nnumeri positivi: %d\tnegativi: %d", j, s);
  79. printf("\nmax: %d\tmin: %d", max, min);
  80.  
  81. // \t è tab: ossia tot spazi: " "
  82. // \n è newLine: ossia
  83. // questo.
  84. // %d è per i numeri interi, si usa sia in scanf che in printf (ossia sia in input che output)
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement