Răspuns :
Am rescris programul, daca ai nelamuriri lasa-le mai jos.
// daca se cunoaste ca in vectorul de tarcuri exista cel putin un tarc cu fix o oaie, atunci
// se scade 1 din fiecare element al vectorului, altfel se scade un tarc intreg care are
// valoarea mai mare decat 1
#include <iostream>
using namespace std;
int v[100], tarcCuOOaie;
int tarc (int n) {
int i,zile=0,ok=0,tarcCuOOaieLocal;
while (ok==0) {
tarcCuOOaieLocal=0;
if(tarcCuOOaie==1) {
for(i=1; i<=n; i++) {
if(v[i]>0) v[i]--;
if(v[i]==1) tarcCuOOaieLocal=1;
}
tarcCuOOaie=tarcCuOOaieLocal;
zile++;
}
else {
i=0;
do {
v[i++];
}
while(v[i]<=1);
v[i]=0;
zile++;
}
for(i=1; i<=n; i++)
if(v[i]!=0) {ok=0; break;}
else ok=1;
}
return zile;
}
int main() {
int n,i;
cin>>n;
for(i=1; i<=n; i++) {
cin>>v[i];
if(v[i]==1) tarcCuOOaie=1;
}
cout<<tarc(n);
return 0;
}
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți alte întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați în lista de favorite!