infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Plesa Mihail Iulian din Martie 14, 2011, 09:30:47



Titlul: problema
Scris de: Plesa Mihail Iulian din Martie 14, 2011, 09:30:47
In fisierul de intrare am:
4
2 5
5 7
10 20
30 40

Am facut urmatorul program:
Cod:
#include <cstdio>
using namespace std;
int main()
{FILE*f=fopen("fis.in","r");
FILE*g=fopen("fis.out","w");
int n,min,max,i,a,b,nr=0,j,ok=0;;
fscanf(f,"%d",&n);
for(i=1; i<=n; i++){
fscanf(f,"%d %d",&min,&max);
for(j=i+1; j<=n; j++){
fscanf(f,"%d %d",&a,&b);
if(min<=a && max>=b){
nr=nr+1;
ok=1;
}
}
}

fprintf(g,"%d",nr);
fclose(f);
fclose(g);
}
In acest program valorile pentru min si max nu mi se modifica...raman: mini=2; max=5; cum sa fac ca atunci cand i=2 min=5 si max=7 cand i=3 urmatoarele valori s.a.???

Multumesc!

Foloseste tag-ul "code" cand postezi cod pe forum!


Titlul: Răspuns: problema
Scris de: Aurelian Namascu din Martie 14, 2011, 09:39:53
Daca am inteles bine ce vrei, ai putea salva numerele in 2 vectori...


Titlul: Răspuns: problema
Scris de: Parfene Narcis din Martie 14, 2011, 21:18:20
Instructiunea if nu este gandita bine. Acel if ar trebui sa-l desfaci in doua

Cod:
if (min < a) ...
if (max>=b) ...
Sper ca am inteles ce vrei