Răspuns :
Sumele pe care le poate da perechea de zaruri sunt intre 2 si 12(1-1...6-6). Toate aceste valori pot fi considerate pozitii intr-un vector cu lungime 11 in care valoarea initiala a fiecarei pozitii este 0(nu avem deocamdata acel zar) si apoi incrementam cu cate 1 la fiecare pereche de zaruri a caror suma da valoarea respectiva.
In cazul C, putem initia un vector cu valori zero printr-o variabila globala, si folosim un vector de stocare pozitii 0,1,2...10 corespondent valorilor zarului 2,3,4...12.
Posibila solutie:
#include <iostream>#include <fstream>
using namespace std;
int points[11];
int main(){ int n,i,z1,z2; ifstream in("aruncari.txt"); ofstream out("puncte.txt"); in>>n; cout<<n<<endl; for (i=0;i<n;i++){ in>>z1>>z2; points[z1+z2-2]+=1; } in.close(); for (i=0;i<11;i++){ if (points[i]>0){ out<<i+2<<" "<<points[i]<<endl; } } out.close(); return 0;}
In cazul C, putem initia un vector cu valori zero printr-o variabila globala, si folosim un vector de stocare pozitii 0,1,2...10 corespondent valorilor zarului 2,3,4...12.
Posibila solutie:
#include <iostream>#include <fstream>
using namespace std;
int points[11];
int main(){ int n,i,z1,z2; ifstream in("aruncari.txt"); ofstream out("puncte.txt"); in>>n; cout<<n<<endl; for (i=0;i<n;i++){ in>>z1>>z2; points[z1+z2-2]+=1; } in.close(); for (i=0;i<11;i++){ if (points[i]>0){ out<<i+2<<" "<<points[i]<<endl; } } out.close(); return 0;}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!