Ce este gresit in exercitiu INFO ? (C++)

Discutii despre tot ce nu se incadreaza in celelalte categorii.

Moderators: Moderatori ajutatori, Moderatori

Post Reply
User avatar
fan_haulin
Fost moderator
Fost moderator
Posts: 2592
Joined: 08 Jun 2010, 20:35
Detinator Steam: Da
Reputatie: Fost Moderator
Has thanked: 271 times
Been thanked: 106 times
Contact:

20 Feb 2014, 09:57

Code: Select all

Fişierul text bac.txt conţine, pe o singură linie, cel mult 1000 de numere naturale nenule
cu cel mult 4 cifre fiecare, numerele fiind separate prin câte un spaţiu. Scrieţi un program
C/C++ care citeşte de la tastatură un număr natural nenul n (n≤999) şi numerele din fişierul
bac.txt şi care afişează pe ecran, separate prin câte un spaţiu, toate numerele din fişier
care sunt divizibile cu n. Dacă fişierul nu conţine niciun astfel de număr, atunci se va afişa
pe ecran mesajul NU EXISTA.
Exemplu: dacă fişierul bac.txt conţine numerele: 3 100 40 70 25 5 80 6 3798,
pentru n=10 atunci pe ecran se va afişa: 100 40 70 80
#include <iostream>
#include <fstream>
using namespace std;
int main(){
int c,n;
string line;
c=0;

ifstream numere_extrase;
numere_extrase.open("bac.txt");
while (getline(numere_extrase,line));
{
(n>1) && (n<999);
n=atoi(line.c_str());
c=(n%10==0);
c=(c+1);
}
cout << "Numerele divizibile sunt: ";
numere_extrase.close();
cout <<"n";

system("pause>nul");
return 0;
}


Problema imi ruleaza in Dev-C++, insa nu imi afiseaza numerele... Vreunu mai priceput care sa imi spuna ce am gresit ?:)
Last edited by fan_haulin on 20 Feb 2014, 13:48, edited 1 time in total.
RoyalServer 2
User avatar
fan_haulin
Fost moderator
Fost moderator
Posts: 2592
Joined: 08 Jun 2010, 20:35
Detinator Steam: Da
Reputatie: Fost Moderator
Has thanked: 271 times
Been thanked: 106 times
Contact:

24 Feb 2014, 16:14

Inca n-am gasit rezolvarea...
Bloo#
Membru eXtream
Membru eXtream
Posts: 2794
Joined: 08 Jan 2014, 11:36
Detinator Steam: Da
Reputatie: Nume anterior: Red#
Fost Moderator ajutator
0.8/3
Location: Amsterdam
Has thanked: 12 times
Been thanked: 13 times

24 Feb 2014, 17:15

daca ai folosii si cin ar merge. trebuie sa folosesti cin sa trimiti catre procesor ce ai facut tu.
User avatar
blackgate
Membru, skill +4
Membru, skill +4
Posts: 1902
Joined: 15 Dec 2012, 13:50
Detinator Steam: Da
SteamID: melissus
Reputatie: retras
Been thanked: 242 times
Contact:

24 Feb 2014, 17:32

daca ai nevoie de ajutor la teme / proiecte si altele legate strict de programare poti posta la S.O.S pe asta:
| Afiseaza codul
forum.thieves-team.com
* NU FAC RECLAMA.
poti posta acolo problema ta , te va rezolva cineva din grupul C.
User avatar
fan_haulin
Fost moderator
Fost moderator
Posts: 2592
Joined: 08 Jun 2010, 20:35
Detinator Steam: Da
Reputatie: Fost Moderator
Has thanked: 271 times
Been thanked: 106 times
Contact:

24 Feb 2014, 19:02

Mi-ar fi mai de ajutor un raspuns aici..
User avatar
HuaN
Membru, skill +1
Membru, skill +1
Posts: 324
Joined: 23 Oct 2012, 20:14
Detinator Steam: Da
Has thanked: 34 times
Been thanked: 40 times

24 Feb 2014, 19:31

Ia aici : (Pascal)

var f:text; n,nr:byte;

x:integer;

begin

assign(f,’bac.txt’); reset(f);

repeat

write(‘n=’); readln(n);

until (n>0) and (n<=999);

nr:=0;

while not eof(f) do

begin

read(f,x);

if x mod n=0 then begin

write(x,’ ‘);

nr:=nr+1

end

end;

if nr=0 then writeln(‘nu exista’);

close(f)

end.
Citeste regulamentul. Data viitoare iei warn. ma si daca nu vreau?
User avatar
CMETAHKA
Membru, skill 0
Membru, skill 0
Posts: 80
Joined: 30 Dec 2011, 00:20
Detinator Steam: Nu
Has thanked: 11 times
Been thanked: 41 times

25 Feb 2014, 20:28

Code: Select all

#include <iostream>
#include <fstream>
using namespace std;

int n, x;

inline void divizibil()
{
	if (x % n == 0)
	{
		cout << x << " ";
	}
}

int main()
{
	cout << "Dati valoarea lui n: ";
	cin >> n;
	cout << "Numerele divizibile sunt: ";
	
	ifstream f("bac.txt");
	
	do
	{
		f >> x;
		divizibil();
	}
	while (!f.eof());
	
	f.close();
	return 0;
}
User avatar
fan_haulin
Fost moderator
Fost moderator
Posts: 2592
Joined: 08 Jun 2010, 20:35
Detinator Steam: Da
Reputatie: Fost Moderator
Has thanked: 271 times
Been thanked: 106 times
Contact:

26 Feb 2014, 14:56

@CMETAHKA: M-ai salvat din nou ! Aplicatia rula impecabil cu o mica eroare: la final, inainte de return 0 trebuia system("pause>nul"); . Dupa ce am pus aceasta linie, imi statea consola deschisa !:) Multumesc frumos !
Post Reply

Return to “Discutii generale”

  • Information