Hỏi & đáp lập trình

có ai biết làm bài nhân hai số nguyên lớn sử dụng danh sách liên kết đôi ko? post code lên dùm mình lun. please ::(

bài này hình như thầy có cho mình làm nà và đã sửa nhưng cuối cùng mất tập.....mốt thi tốt nghiệp ra lại chắc cắn răng tự vẫn...::(
 
Các bạn giúp dùm mình cách tạo ra Cookies khi Register và đọc nó lên khi Login với ::(
 
có ai có thể debug cái code của tôi đc ko...
nội dung là tìm chu trình hamilton bằng ma trận kề
cách thức thì là chọn 1 đỉnh bất kì rồi tìm chu trình xuất phát từ đỉnh đó
ngôn ngữ C++:
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
int a[10][10],n=0;
int d=0,x=1,dx[10],t=1,h[10],check[10];
void nhap();
void hien();
void hamlist();
void canhke();
void main()
{
// clrscr();

nhap();
hien();
hamlist();
getch();
}
//-------------------------------------------------------------------------
void nhap()
{
do
{
cout<<"\n Nhap vao so dinh cua do thi:";
cin>>n;
if ((n>10)||(n<3)) cout<<"\n Chuong trinh chi ho tro toi da 10 dinh.\n Hoac ban da nhap so dinh < 3.\n Moi nhap lai.";
}while ((n>10)||(n<3));
cout<<"\n Chi can nhap nua tren cua ma tran.";
for (int i=1;i<n+1;i++)
for (int j=n;j>i-1;j--)
{
cout<<"\n Nhap vao a["<<i<<"]["<<j<<"]:";
cin>>a[j];
a[j]=a[j];
if (i==j)
{
a[j]=0;
a[j]=0;
}
if (a[j]>0)
{
a[j]=1;
a[j]=1;
}
}
}
//---------------------------------------------------------
void hien()
{
for (int i=1;i<n+1;i++)
{
for (int j=1;j<n+1;j++)
cout<<a[j];
cout<<"\n";
}
}
//--------------------------------------------------------
void hamlist()
{

do
{
cout<<"\n Nhap vao dinh dau tien cua chu trinh:";
cin>>x;
if ((x<=0)||(x>n)) cout<<"\n Dinh nay khong co trong do thi.";
}while((x<=0)||(x>n));
for (int m=1;m<n+1;m++)
{
check[m]=0;
dx[m]=0;
}
t=x;
h[0]=x;
canhke();
for (int k=0;k<n;k++)
cout<<"--"<<h[k];
}

void canhke()
{
for (int i=t;i>0;i--)
{
check=1;
for (int j=1;j<n+1;j++)
if ((a[j]==1)&&(check[j]==0)&&(i!=dx[j]))
{
check[j]=1;
d=d+1;
h[d]=j;
t=j;
dx=0;
canhke();
}
else if (j==n)
{
check=0;
dx[j]=i;
d=d-1;
}
}
}
cái hàm này vẫn chưa tìm đc cách debug :((
 
ặc ặc, bác học trường nào thế hả, môn lý thuyết đồ thị phải ko

bác tự debug ko được hay sao mà nhờ, nhờ thì sao chỉ
để debug hàm nào bác chỉ cần F9 (break point) chỗ đó rồi F5 xong cứ nhấn F10 hoặc F11 tùy mục đích coi, ngó qua cửa sổ watch hoặc local mà xem kq

đã là dân lập trình ít ra cũng phải tự debug để sau này còn sửa code của người khác nữa =))
 
Bạn ý ko biết debug đoạn code đệ quy ở cuối cùng thì phải
 
chuẩn đấy...lỗi thuật toán và ko thể đệ quy về đúng chu trình đc....còn debug đc thì tôi đã chả phải hỏi...haizzzzzz
mà hôm nay trả bài rồi....copy cái bài bên csth....nhưng vẫn đau lòng vì cái code của mình......
 
Debug đệ quy cần tưởng tượng 1 chút về cây đệ quy mà mình đang xử lí.
Nếu bạn nắm vững về mô hình đệ quy thì sẽ thấy debug nó rất bt thôi :D
 
mỗi tội mình lại khá ngu về cái này :))......trước giờ toàn tìm mọi cách để lập trình thành tuyến tính :(
 
ai học môn cấu trúc dl thì giúp mình bài này với

Mã:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

typedef struct p 
  {
       int info;
       struct p *next;
  } node ;
 
typedef struct 
 {
        node *head;
        node *tail;
 } list ;

 void tao_list_trong (list &l)
  {
      
      l.head=NULL;
      l.tail=NULL;
  }  
   
 node *taonut (int x)
   {
        node *p;
        p=(node*)malloc(sizeof(node));
        if (p!=NULL)
         {                      
                p->info=x;
                p->next=NULL;
         }
        return p;
   }
   
 void them_vao_list ([COLOR="lime"]list l[/COLOR],node *p)
   {
         [COLOR="Lime"]if (l.head=NULL)[/COLOR]           {
                  l.head=p;
                  l.tail=p;
           }
         else 
           {
                  l.tail->next=p;
                  l.tail=p;
           }  
  }
 void xuat (list l)
  {
      node *p;
      p=l.head;
      while (p!=NULL)
        {
            printf ("%5d",p->info);
            p=p->next;
        }
 }
 
 
main ()
 {
     node *p;
     list l;
     int i,x,n;
     printf ("\n nhap vao so nut ban muon co trong danh sach :");
     scanf ("%d",&n);
     tao_list_trong(l);
     
      while (n!=0)
       {
              printf ("\n nhap vao gia tri can gan cho nut :");
              scanf ("%d",&x);
              p=taonut(x);
              them_vao_list (l,p);      
              n--;          
       }
       
       
     xuat(l);
     getch();
 }

Ko biết có bị lỗi gì mà nó vẫn chạy đc,nhưng giả sử nhập số nút là 3, thì khi điền giá trị cho nút,máy báo lỗi

Edit : ngủ 1 giấc dậy,tinh thần thoải mái thì cũng sửa đc lỗi,thks bạn nào có ý định trả lời giúp mình nhé ^^
 
Sorry mod, ko biết hỏi ở đâu đành post ở đây vậy :D
Mỗi lần mở PTS ra là nó lại thông báo thế này
Cậu nào giúp tớ với :(
lh4ydhdtywnv0t4cv72.jpg
 
Mỗi lần mở PTS ra là nó lại thông báo thế này
Cậu nào giúp tớ với
_ Nhét đĩa PS vào cài lại
_ Post nhầm topic, cẩn thận ăn chém :'>
 
Bài tập liên quan tới danh sách liên kết đơn

có các khai báo sau :
Mã:
typedef struct p 
  {
       int info;
       struct p *next;
  } node ;
 
typedef struct 
 {
        node *head;
        node *tail;
        
 } list ;

 void tao_list_trong (list &l)
  {
      
      l.head=NULL;
      l.tail=NULL;
  }  
   
 node *taonut (int x)
   {
        node *p;
        p=(node*)malloc(sizeof(node));
        if (p!=NULL)
         {                      
                p->info=x;
                p->next=NULL;
         }
        return p;
   }

Bây giờ muốn xóa 1 nút trong danh sách

Mã:
int remove (list &l,node *xoa)
 {
     int kt=0;
     node *tim=l.head;
     node *sau=l.head;
     while (tim!=NULL) 
      {
           if (tim->info==xoa->info)
             {
                  kt=1;
                  break;
             }
           else 
              {
                  sau=tim;
                  tim=tim->next;
                  
                  
              } 
        if (kt==0) 
          return 1;
        else 
          {
                 if (sau==l.head)
                    {
                           l.head=l.head->next;
                           free(tim);
                    }
                 else if (tim->next==NULL)
                    {
                         sau->next=NULL;
                         free(tim);
                    }
                 else 
                    {
                         sau->next=tim->next;
                         free(tim);
                    }
                    return 0;
          }
      }
}

tim là con trỏ kiểu node dùng duyệt hết danh sách list l
sau là con trỏ lun lun chạy phía sau con trỏ tim
đầu vào là con trỏ xoa kiểu node

Nhưng khi mình nhập 1 danh sách vào rồi dùng hàm remove để xóa 1 node thì khi in ra nó vẫn là danh sách đó mà ko bị xóa

Xem dùng mình lỗi của thuật toán đi
Hỏi liên tục thì kì quá nhưng mà ngồi từ sáng tới giờ chỉ ăn cơm thôi mà vẫn ko viết nỗi :(
 
Mình đang học dreamweaver ở trường.Đến phần ASP muốn về nhà thực hành nhưng ko thể vào được trang localhost(đã cài IIS).Propeties của thư mục cũng ko thấy phần web sharing.Phải làm thế nào để thực hành được ASP đây,bạn nào giúp mình với.
 
tim là con trỏ kiểu node dùng duyệt hết danh sách list l
sau là con trỏ lun lun chạy phía sau con trỏ tim
đầu vào là con trỏ xoa kiểu node

Nhưng khi mình nhập 1 danh sách vào rồi dùng hàm remove để xóa 1 node thì khi in ra nó vẫn là danh sách đó mà ko bị xóa

Xem dùng mình lỗi của thuật toán đi
Hỏi liên tục thì kì quá nhưng mà ngồi từ sáng tới giờ chỉ ăn cơm thôi mà vẫn ko viết nỗi
Bạn viết ct khó hiểu quá, viẹc xóa 1 nút trong linked list đơn giản hơn nhiều.
Thường người ta xóa 1 nút đứng sau nút chỉ định, ví dụ xóa nút sau nút node
deletedNode := node.next;
node.next = node.next.next;
free deletedNode;
Còn việc xóa 1 nút tại vị trí chủ định thì duyệt tìm đến nút truớc nó rồi làm như trên
 
mình cũng tham khảo 1 số ví dụ thì thấy đc cái khúc mắc của mình là mình chỉ xóa 1 node mà nó ko liên quan gì tới list ( hoặc là gì đó...) ,vd list gồm A B C D , mình gán A cho E rồi delete E ---> ko liên quan gì ???

Có thể là như thế mà cũng chưa tìm đc cách sửa
 
Sorry ,mình post nhầm bài .Mod xóa hộ nhé
 
Hân không có spam nhà
Cho Hân hỏi cách dùng PTS với
Hân mới download nên chưa biết cách dùng
 
Có ai cho hỏi về cái tablet đi...

Đại khái là tớ muốn mua 1 công cụ để vẽ, rồi đưa trực tiếp vào máy tính...

Hồi đó nhớ mang máng có ai nói đó là tablet thì phải...
 
Back
Top