» Utilizator
LAMP
» Parteneri» De citit» Recomandari» Taskuri securitate » Statistici
  • 64782 de mesaje.
  • 7635 de topicuri.
  • 1081 de utilizatori.
  •  
  • purcelllefevreo e ultimul utilizator inregistrat.
[Detalii]

 

| |
Pagini: [1]
Print

[Bacalaureat][C]sir de numere si fisiere [626 afisari]

Archangel
*


Mesaje: 1392
OfflineOffline

WWW

Varianata 3 / Problema 3
Quote
Scrieti programul Pascal/C/C++ care citeste din fisierul BAC.TXT un sir s de cel mult un milion de numere naturale, fiecare numar avand cel mult patru cifre, si care determina in mod eficient din punctul de vedere al timpului de executare si al spatiului de memorie folosit, numarul de componente ale sirului obtinut prin eliminarea din cele doua extremitati ale lui s a unui numar minim de componente, astfel incat sirul rezultat sa inceapa si sa se termine cu cate un numar par. Fisierul BAC.TXT contine cel mult un numar par, iar numerele din fisier sunt separate printr-un singur spatiu. Programul va afisa pe ecran numarul de componente ale sirului obtinut.
      De exemplu, daca fisierul BAC.TXT contine numerele:
1 245 22 67 34 29 345 8 354 11 7 34 12 45 39 41 26 67 89 1011
se va afisa pe ecran numarul: 15, deoarece sunt eliminare numerele boldate, iar sirul rezultate este format din 15 numere.
Logged

Archangel on deviantART | Archangel on Flickr |
"Daca voi nu ma vreti, eu va vreu!"
24-02-2008, 10:53 Twitt ::
boogey69
*


Mesaje: 56
OfflineOffline


Varianta 3 / Problema 3 - Rezolvare:
Code:
#include<fstream.h>

void main()

{

int n;
long unsigned int nr=0, sc=0;
short unsigned int g=0;

ifstream f("bac.txt");

while (f>>n)
{
if (!(n%2) && !g) g=1;
if (g) {
nr++;
if (!(n%2)) sc=0;
else sc++;
}
}

f.close();

cout<<nr-sc;

}
Logged
24-02-2008, 13:17 Twitt ::
Archangel
*


Mesaje: 1392
OfflineOffline

WWW

Varianta 3 / Problema 3 - Rezolvare
Code:
#include<iostream.h>
#include<fstream.h>
#include<iomanip.h>

void main()
{
long int n,a,b,k;

fstream F("BAC.TXT", ios::in);
F>>resetiosflags(ios::skipws);
a=0; b=0; k=0;

while(F>>n)
{ k++;
if(n%2==0)
{if(a==0) a=k; b=k;}
}
cout<<endl<<b-a+1;

}
am verificat pentru numerele din exemplu si imi da 1  Straight face
Logged

Archangel on deviantART | Archangel on Flickr |
"Daca voi nu ma vreti, eu va vreu!"
25-02-2008, 19:10 Twitt ::
Pagini: [1]
Print
SkullBox Forum  |  Development  |  Programe facute de userii forumului  |  Topic: [Bacalaureat][C]sir de numere si fisiere