Sari la conținut
Forum Roportal
alina_ally23

Probleme in C++

Evaluează acest topic

Postări Recomandate

In ce mediu lucrezi? turbo c, visual studio 6 ; visual studio.net?

 

Si de altfel explica-ne clar unde este problema, ce nu-ti da bine..

Editat de Argv

Partajează acest post


Link spre post
Distribuie pe alte site-uri

deci nr prietene inseamna :

a=suma divizorilor lui b(fara b)

si

b=suma divizorilor lui a(fara a)

 

si divizorii merg pana la n/2 pt ca nu exista divizori mai mari decat jumatatea unui numar si mai stii ca n nu se pune ca divizor.

 

Dar unde am gresit ? Numi dau seama

 

miam dat seama de greseala. trebuia sa pornesc divizorii de la 1 nu de la 2 :bye:

 

Fie x un nr natural, x>2. Scrie un algoritm care sa determine cel mai mare nr prim, mai mic decat x si cel mai mic nr prim mai mare decat x.

 

Am incercat sa rezolv prima parte cu cel mai mare nr prim, mai mic decat x

 

#include<iostream.h>

void main()

{ int x,p,prim,div;

cin>>x;

prim=1;

p=x-1;

while (p!=0)

{ for (div=2;div<=p/2;div++)

{ if (p%div==0) prim=0;

{ if (prim==0) p=p-1; else cout<<p; }}}}

 

Imi da foarte prost momentan

Partajează acest post


Link spre post
Distribuie pe alte site-uri

daca tin minte eu bine borland c++ se aseamana la IDE cu delphi si atunci

1) ctrl+f5 - watch pe o variabila, sau un membru al unei clase

2) f5 break pe o linie

 

(ce am scris mai sus e valabil 100% in delphi, insa cred ca e la fel)

 

numa bine

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Pogramul este urmatorul

#include<iostream.h>

void main()

{

int a,b,sa=0,sb=0,i;

cout<<"a=";

cin>>a;

cout<<"b=";

cin>>b;

for(i=2;i<a/2;i++)

{

if(a%i==0)

sa+=i;

}

for(i=2;i<(b/2);i++)

{

if(b%i==0)

sb+=i;

}

if((a==(sb+b))&&(b==(sa+a)))

cout<<a<<"si"<<b<<"sunt numere prietene";

else

cout<<a<<"si"<<b<<"nu sunt numere prietene";

/*sa este suma divizorilor lui a

sb este suma divizorilor lui b

*/

}

Daca vrei sa urmaresti executia programului de duci in meniul Debug pe optiunea Add watch si scrii numele variabilei pe care vrei sa o urmasesti (de exemplu sa) (poti urmari si mai multe variabile) apoi de duci in meniul Windows si selectezi optiunea Watch Window (parca asa se numeste , dar mai nu stiu exact pentru ca lucrez de mult timp in Visual) dupa care ii dai Run. Mult succes si daca mai ai vreo nelamurire da mesaj si mai vorbim.

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Acum ceea ce stiu eu merge pe borland c++ 3.41 .Pentru alte IDE gen Dev-CPP vei avea nevoie sa linkezi manual biblioteca.

La inceputul programului vei include headerul string.h in care se afla functiile de care ai tu nevoie.Declari o variabila char de ce lungime ai nevoie (Ex: cuvant[21]) si pentru a citi din fisierul declarat cu

ifstream fin("fisier.txt");

 

vei folosi codul urmator

 

while(!fin.eof())
     fin.getline(cuvint,21);

 

Sa explicam putin.Nu ai mentionat daca stii cate cuvinte ai de citit asa ca vom folosi functia eof() pentru a determina sfarsitul fisierului din care citesti.Pentru a putea folosi aceasta functie trebuie inclus si headerul io.h.Functia getline() citeste intreaga linie (asa cum ai spus cate un cuvant pe linie) si memoreaza acest sir in variabila cuvant.Acel 21 este numarul maxim de caractere citite in variabila cuvant.Acest lucru se mai putea face si asa :

 

while(!fin.eof())
   {
     fin.get(cuvint,21,'\n');
     fin.get();
   }

 

cu specificatia ca trebuia sa'i spui tu caracterul de sfarsit '\n' pentru a citi o linie si trebuia apelata iar functia get() pentru a extrage caracterul delimitator ('\n') pentru a nu fi citit in variabila.In speranta ca am fost de ajutor si ca nu am facut vreo greseala (a cam trecut ceva vreme de cand am atins borland c++) iti urez bafta si...somn usor :o: :P :P

 

:roll:

I'm back :band:

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Foloseste functiile fopen si fgets.. si consulta help-ul, parcursul unui fisier face parte din notiunile de baza.

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum

×