infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Dragos din Septembrie 30, 2009, 19:22:33



Titlul: watch functions in codeblocks
Scris de: Dragos din Septembrie 30, 2009, 19:22:33
salut! am o intrebare in legatura cu folosirea watchurilor in codeblocks atunci cand vrem sa trecem dintr-o functie in alata a uni program de exemplu pentru
Cod:
 #include<iostream.h>
long nr1=0,nr0=0,n,sol[1000],sum;
void tipar()
{long s=0,i;
    for(i=1;i<=sum;i++)
      s=s*2+sol[i];
cout<<s<<'\n';
}
int valid(int i,int k)
{int arca0=0,arca1=0;
    for(i=1;i<sum;i++)
    if(sol[i]==1)
    arca1++;
    else
    arca0++;
if(arca1>nr1||arca0>nr0)
       return 0;
if(k==1&&sol[1]==0)
       return 0;
if(k==sum&&(arca0!=nr0||arca1!=nr1))
        return 0;
return 1;
}
void back(int k)
{if(k>sum)
    tipar();
   else
    for(int i=0;i<=1;i++)
         if(valid(i,k))
           {sol[k]=i;

           back(k+1);

           }
}



int main()
{n=6;
while(n)
 { if(n%2==0)
      nr0++;
     else
      nr1++;
  n=n/2;
 }
sum=nr0+nr1;
back(1);
 return 0;
}
daca vreau folsind watch-uri sa incep rularea pas cu pas din main shi apoi sa intru in back sa vad daca am gresit ceva pe acolo nu merge:( cum sa fac sa mearga?? (P.S. shtiu ca exista metoda de a incepe din functia back rularea pas cu pas dar pe langa faptul ca eu vreau sa incep din main tot nu m-ar ajuta la nimic pt ca apoi nu intra in valid() sau in tipar,)
MULTUMESC ANTICIPAT PENTRU CEi CARE MA VOR AJUTA


Titlul: Răspuns: watch functions in codeblocks
Scris de: alexandru din Octombrie 01, 2009, 06:07:07
Ca sa intri intr-o functie pune un breakpoint la definirea acesteia si it va intra :D
De exmplu :
Cod:
void tipar() //aici pui un breakpoint
{
   ...
}
void valid() // aici pui un breakpoint
{
   ....
}
void back() //aici pui un breakpoint
{
....
}
http://wiki.codeblocks.org/index.php?title=Debugging_with_Code::Blocks


Titlul: Răspuns: watch functions in codeblocks
Scris de: Dragos din Octombrie 02, 2009, 08:16:36
dar daca avem un vector dedclarat dinamic e.g.
long *vector=new long[64000000]; cum facem sa il vedem la watch-uri in intregime pentru ca daca introducem vector la watchuri apare adresa daca intrucem *a valoarea primului element iar daca introducem vector shi setam watch as vector count from 0 to ... nu imi merge decat pana la 1000(arata ce se intampla cu primele 1000 de elemente din vector


Titlul: Răspuns: watch functions in codeblocks
Scris de: alexandru din Octombrie 02, 2009, 12:32:31
dar daca avem un vector dedclarat dinamic e.g.
long *vector=new long[64000000]; cum facem sa il vedem la watch-uri in intregime pentru ca daca introducem vector la watchuri apare adresa daca intrucem *a valoarea primului element iar daca introducem vector shi setam watch as vector count from 0 to ... nu imi merge decat pana la 1000(arata ce se intampla cu primele 1000 de elemente din vector
Din cate stiu eu daca se repeta de mai multe ori acelasi nr iti pune
Cod:
v[0]=1
v[1]=0 <repeats 5000000 >
v[5000001]=132321
...etc sper k intelegi :D

ps: o sa gasesti mai mult ajutor pe http://forums.codeblocks.org/ .


Titlul: Răspuns: watch functions in codeblocks
Scris de: Dragos din Octombrie 02, 2009, 17:26:32
la alocare dinamica? :eyebrow:


Titlul: Răspuns: watch functions in codeblocks
Scris de: alexandru din Octombrie 02, 2009, 17:45:48
la alocare dinamica? :eyebrow:
Da, si? Numerele is aletorii dar nu toate, nici unde nu scrie ca toate difera intre ele, mai ales la ce limita ai ales :P
Cod:
//Pune:
#include <cstdlib> // pt calloc
......
long *vector;
vector=(long*)calloc( 64000000, sizeof( long ) );
//si vezi ce iti apara in watch :P


Titlul: Răspuns: watch functions in codeblocks
Scris de: Dragos din Octombrie 02, 2009, 20:40:22
la alocare dinamica? :eyebrow:
Da, si? Numerele is aletorii dar nu toate, nici unde nu scrie ca toate difera intre ele, mai ales la ce limita ai ales :P
Cod:
//Pune:
#include <cstdlib> // pt calloc
......
long *vector;
vector=(long*)calloc( 64000000, sizeof( long ) );
//si vezi ce iti apara in watch :P
pff bine shi la matrice cum fac cu calloc?



Titlul: Răspuns: watch functions in codeblocks
Scris de: alexandru din Octombrie 03, 2009, 06:48:45
pff bine shi la matrice cum fac cu calloc?
http://www.cplusplus.com/reference/clibrary/cstdlib/calloc/ 
Cod:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
   int **L,n,m,i,j;
   cin>>n>>m;
   L=(int**)calloc( n, sizeof(int) ); //aloc memorie pentru a crea liniile
   for( i=0; i < n; ++i )
   {L[i]=(int*)calloc( m, sizeof(int) ); //acum aloc memorie pt linia i ca sa memorez m elemente :D
      for( j=0; j < m; ++j ) cout<<"a["<<i<<"]["<<j<<"]=",cin>>L[i][j];
    }
    for( i=0; i < n; ++i )
    {
       for( j=0; j < m; ++j ) cout<<L[i][j]<<' ';
       cout<<'\n'; 
    }
    return EXIT_SUCCESS;
}


Titlul: Răspuns: watch functions in codeblocks
Scris de: Dragos din Octombrie 03, 2009, 11:50:14
pff bine shi la matrice cum fac cu calloc?
http://www.cplusplus.com/reference/clibrary/cstdlib/calloc/ 
Cod:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
   int **L,n,m,i,j;
   cin>>n>>m;
   L=(int**)calloc( n, sizeof(int) ); //aloc memorie pentru a crea liniile
   for( i=0; i < n; ++i )
   {L[i]=(int*)calloc( m, sizeof(int) ); //acum aloc memorie pt linia i ca sa memorez m elemente :D
      for( j=0; j < m; ++j ) cout<<"a["<<i<<"]["<<j<<"]=",cin>>L[i][j];
    }
    for( i=0; i < n; ++i )
    {
       for( j=0; j < m; ++j ) cout<<L[i][j]<<' ';
       cout<<'\n'; 
    }
    return EXIT_SUCCESS;
}
shi totushi nu ar fi mai bine sa discutam pe mess??


Titlul: Răspuns: watch functions in codeblocks
Scris de: alexandru din Octombrie 03, 2009, 17:00:35
Da, devenim c-am offtopic  :-'
Daca vrei ok, trimite id-ul printr-un pm :D


Titlul: Răspuns: watch functions in codeblocks
Scris de: Pripoae Teodor Anton din Octombrie 03, 2009, 20:42:31
Da, devenim c-am offtopic  :-'

Citat
shi totushi

Hai totusi sa vorbim romaneste corect. Alexandru, pune si tu mana pe o carte de romana, nu prea stai bine cu ortografia.


Titlul: Răspuns: watch functions in codeblocks
Scris de: Paul-Dan Baltescu din Octombrie 04, 2009, 00:52:25
Inchid acest subiect pentru ca este evident ca s-a deviat de la tema.