Problema 3 · Programació I UDL 2022
Tema: Bucles i disseny iteratiu · Del examen Examen Primer Parcial (Novembre 2022) (2022)
Enunciado
Problema 3 [4,5 punts]. Processament de seqüència i representació d'un tauler SAT
Dissenyeu un programa en llenguatge C++ que processi un text acabat amb el caràcter punt ( '.'). El programa ha de cercar la primera aparició de la lletra 'v'. Si es troba aquest caràcter, a continuació es llegirà una seqüència de 16 nombres enters (seguits d'un 0 i del punt final, els quals es poden ignorar).
Per a cadascun d'aquests 16 nombres:
Si el valor és negatiu, s'imprimeix un caràcter de subratllat seguit d'un espai ( "_ ").
Si el valor és positiu, s'imprimeix la lletra 'Q' seguida d'un espai ( "Q ").
Cal afegir un salt de línia cada quatre valors impresos (formant una matriu de 4 files per 4 columnes).
En cas que el caràcter punt arribi sense haver trobat cap 'v' en el text, el programa ha d'imprimir el missatge:
No té solució.
Exemples:
Exemple 1:
Entrada:
s SATISFIABLE
v -1 -2 3 -4 5 -6 -7 -8 -9 -10 -11 12 -13 14 -15 -16 0
.
Sortida:
_ _ Q _
Q _ _ _
_ _ _ Q
_ Q _ _
Exemple 2:
Entrada:
s UNSATISFIABLE
.
Sortida:
No té solució.

Solución
Según los criterios oficiales de corrección
Dissenyeu un programa en llenguatge C++ que processi un text acabat amb el caràcter punt ( '.' ).
Solución: ```cpp #include <iostream> using namespace std; int main() { char c; bool trobat = false; // Lectura caràcter a caràcter buscant 'v' abans d'arribar al punt while (cin >> c && c != '.' && !trobat) { if (c == 'v') { trobat = true; } } if (trobat) { // Es llegeixen exactament els 16 nombres associats a les variables for (int i = 1; i <= 16; i++) { int valor; cin >> valor; if (valor > 0) { cout << "Q "; } else { cout << "_ "; } // Salt de línia cada 4 elements if (i % 4 == 0) { cout << endl; } } // Es consumeixen els caràcters restants fins al punt final (0 i '.') while (cin >> c && c != '.') { // descartar resta de la línia } } else { cout << "No té solució." << endl; } return 0; } ```
La explicación paso a paso, hecha con IA, es Premium. Premium
Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.