Skip to content

Instantly share code, notes, and snippets.

@jordi-petit
Created September 13, 2017 10:17
Show Gist options
  • Save jordi-petit/f194fcd0f1db08ac043e89816856691a to your computer and use it in GitHub Desktop.
Save jordi-petit/f194fcd0f1db08ac043e89816856691a to your computer and use it in GitHub Desktop.
2017-09-13
/* Descomposició horària. */
#include <iostream>
using namespace std;
int main() {
int n; // Declaració de la variable d'entrada
cin >> n; // Lectura de l'entrada
int h = n / 3600; // Càlcul del nombre d'hores
int m = (n % 3600) / 60; // Càlcul del nombre de minuts
int s = n % 60; // Càlcul del nombre de segons
cout << h << " " << m << " " << s << endl; // Escriptura de les sortides
}
/* Canvis de valors a les variables */
int i = 3;
cout << i << endl;
i = 4;
cout << i << endl;
int j = i + 1;
cout << i << " " << j << endl;
i = i + 1;
cout << i << " " << j << endl;
/* Intercanvi de dues variables */
// 1er intent: no funciona !!!
int a = ...;
int b = ...;
a = b;
b = a;
cout << a << " " << b << endl;
// 2n intent: ara sí!
int a = ...;
int b = ...;
int c = a; // variable temporal
a = b;
b = c;
cout << a << " " << b << endl;
/* Sumar un segon */
#include <iostream>
using namespace std;
int main() {
int h, m, s;
cin >> h >> m >> s;
s = s + 1;
if (s == 60) {
s = 0;
m = m + 1;
if (m == 60) {
m = 0;
h = h + 1;
if (h == 24) {
h = 0;
}
}
}
cout << h << " " << m << " " << s << endl; // Al problema P34279 cal una sortida més "bonica"
}

Exercicis per a la propera classe:

  1. Acabar tota la llista de problemes Comencem! al Jutge.
  2. Demostrar matemàticament que la solució per a la descomposició horària és correcte.
  3. Trobar com intercanviar els valors de dues variables enteres sense utilitzar una variable temporal (difícil!)
@jordi-petit
Copy link
Author

jordi-petit commented Sep 14, 2017

@PolBaladas: No cal, feu-ho matemàticament. Però seria ben fàcil afegir-hi un assert() per a fer-ho. Llavors caldria fer també un #include <cassert> a sota l'include del iostream. Ja parlarem de l'assert() a classe en algun moment, mentres, podeu mirar https://stackoverflow.com/a/1571360/1015095

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment