Problema STIVA (c++)

Discutii despre tot ce nu se incadreaza in celelalte categorii.

Moderators: Moderatori ajutatori, Moderatori

Post Reply
User avatar
vLd.#
Membru, skill +1
Membru, skill +1
Posts: 454
Joined: 28 Jun 2013, 12:54
Detinator Steam: Da
CS Status: Loading...
SteamID: amx_vld
Location: Bucuresti, Romania
Has thanked: 3 times
Been thanked: 1 time

18 Jan 2016, 11:51

De curand am invatat despre stiva, dar profa nu prea o predat calumea la ora..nu am inteles unele chestii?
Am o problema cu o stiva: Sa se citeasca numere din fisierul bac.txt(nu se stie nr de numere) si sa se formeze o stiva cu numere prime din fisier.

Mi-ati fi de ajutor cu o explicatie, stiu majoritatea lucrurilor doar ca e ceva ce nu am inteles.



Help me please!
RoyalServer
User avatar
zigweed
Membru, skill +3
Membru, skill +3
Posts: 1094
Joined: 27 Oct 2015, 16:35
Detinator Steam: Da
SteamID: zshare
Reputatie: Fost Membru Club eXtreamCS ( o luna )
Fond eXtream: 0
Location: Bucuresti
Has thanked: 2 times
Been thanked: 13 times
Contact:

18 Jan 2016, 13:05

Si ce anume nu ai inteles ?
In primul rand citeste aici despre stive: http://infoscience.3x.ro/c++/Stiva.htm
Dupa care te duci frumos in C++, preiei continutul fisierului intr-un array, faci un for in array-ul creat si extragi toate numerele prime si le si adaugi in stiva ta, dupa care le afisezi.

Ca sa vezi daca numarul e prim sau nu:
Image
User avatar
MCosti
Fost moderator
Fost moderator
Posts: 2251
Joined: 28 Sep 2008, 06:58
Detinator Steam: Da
Reputatie: Membru Club eXtreamCS (2 luni)
Fost moderator
Nume anterior: DjMax
Has thanked: 139 times
Been thanked: 60 times
Contact:

18 Jan 2016, 14:30

Solutia data de tine este ineficienta. Ca sa vezi daca un numar e prim faci un subprogram asa:

Code: Select all

int estePrim(int x){
int i;
for(i=0;i<=x/2;i++)
    if(x%i==0) return 0;
return 1;
}
anonyym
Membru, skill +1
Membru, skill +1
Posts: 180
Joined: 19 Jun 2011, 00:04
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Has thanked: 43 times
Been thanked: 8 times
Contact:

19 Jan 2016, 02:00

MCosti wrote:Solutia data de tine este ineficienta. Ca sa vezi daca un numar e prim faci un subprogram asa:

Code: Select all

int estePrim(int x){
int i;
for(i=0;i<=x/2;i++)
    if(x%i==0) return 0;
return 1;
}
Te faci de ras, mai bine lasa-l pe el sa rezolve cum stie. Nu cred ca e cazul sa faca un subprogram eficient pentru asa ceva din moment ce obiectivul lui este sa "invete stiva".

Stiva este o structura de date pe principiul primul intrat, ultimul iesit sau in alte carti ultimul intrat, primul iesit. Gandeste-te ca la niste farfurii puse una peste alta, cam asa ar fi si stiva. Nu poti scoate/adauga elemente decat in varful acesteia.
.
Post Reply

Return to “Discutii generale”

  • Information