Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.



 
Trang ChínhGalleryLatest imagesTìm kiếmĐăng kýĐăng Nhập

 

 Bài Tập Thực Hành Toán-Tin!!

Go down 
4 posters
Tác giảThông điệp
Willclinton
Mod
Willclinton


Tổng số bài gửi : 407
Age : 35
Đến từ : Bún Giò Heo+Heo Way
Registration date : 05/04/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeMon 05 May 2008, 9:37 pm

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG CĐ KINH TẾ CÔNG NGHỆ TP.HCM
KHOA CNTT

BÀI TẬP THỰC HÀNH TRÊN MÁY
MÔN : TOÁN – TIN HỌC

I / Yêu cầu chung :
 Viết chương trình, cài đặt và cho thực thi một số thuật toán trong danh sách bài tập.
 Ngôn ngữ cài đặt C ++
 Trình biên dịch Borland C++ for Win (for DOS).

II / Danh sách bài tập:
PHẦN I : TOÁN
Bài tập Tuần 01( 3 tiết) :
1. Viết chương trình in ra dòng chữ ‘Hello World’.
2. Viết chương trình nhập vào 2 số nguyên a, b. Tính tổng của chúng.
3. Viết chương trình nhập vào 2 số nguyên a, b. Tính tích của chúng.
4. Viết chương trình nhập vào 2 số nguyên a, b. Tính hiệu của chúng.
5. Viết chương trình nhập vào 2 số nguyên a, b. Tính thương của chúng.
6. Viết chương trình nhập vào chiều dài và chiều rộng của hình chữ nhật. Tính diện tích và xuất kết quả ra màn hình.
Hướng dẫn bài tập 6.
• Bằng ngôn ngữ tự nhiên:
Ví dụ: Hãy tính diện tích hình chữ nhật
1. Bước 1: Nhập vào chiều dài, chiều rộng của hình chữ nhật cần tính.
2. Bước 2: Tính diện tích = chiều dài * chiều rộng vừa nhập.
3. Bước 3: Báo kết quả diện tích hình chữ nhật vừa tính.
• Bằng lưu đồ:

























Bài tập Tuần 02 ( 3 tiết ):
1. Tính diện tích hình tam giác.
2. Tính diện tích hình tròn.
3. Nhập vào một ký tự thường. Đổi thành ký tự hoa.
4. Nhập vào một ký tự hoa. Đổi thành ký tự thường.
5. Nhập vào hai số nguyên a, b. Đổi chỗ (hoán vị) 2 giá trị a, b. Xuất kết quả ra màn hình.
Ví dụ: nhập a=4, b=9. Sau khi hoán vị: a=9, b=4.

Bài tập Tuần 03 ( 3 tiết) :
1. Viết chương trình nhập vào bốn số nguyên. Bạn hãy tính tổng các số âm trong các số trên.
2. Viết chương trình nhập vào một số nguyên. Kiểm tra xem bạn nhập vào số nguyên dương hay âm (xuất thông báo ra màn hình).
3. Nhập vào một ký tự. Hãy cho biết ký tự của bạn vừa nhập thuộc loại nào? (ký tự thường: ‘a’, ‘b’,.., ‘z’ – ký tự hoa: ‘A’, ‘B’,.., ‘Z’ – ký tự số: ‘0’, ‘1’, .., ‘9’, ký tự khác: còn lại).
4. Nhập vào hai số nguyên. In ra số lớn nhất trong hai số bạn vừa nhập.
5. Nhập vào ba số nguyên. In ra số lớn nhất trong ba số bạn vừa nhập.
6. Nhập vào bốn số nguyên. In ra số lớn nhất trong bốn số bạn vừa nhập.
7. Giải và biện luận phương trình bậc nhất ax+b=0.

Bài tập Tuần 04 ( 3 tiết) :
1. Giải và biện luận phương trình bậc hai ax2+bx+c=0.
2. Giải và biện luận hệ phương trình tuyến tính:

3. Viết chương trình giải hệ phương trình tuyến tính với nhiều biến.


PHẦN II : TIN HỌC
Bài tập Tuần 05 ( 3 tiết) :
1. Làm quen với ma trận kề.
2. Biểu diễn đồ thị thành ma trận kề (ma trận trọng số) và ngược lại.
3. Viết hàm để nhập ma trận kề của đồ thị vô hướng và lưu trữ trên FILE.
4. Viết hàm đọc ma trận kề từ FILE và xuất ra màn hình.

Bài tập Tuần 06 ( 3 tiết) :
Cài đặt thuật toán Depth First Search ( DFS : duyệt theo chiều sâu ) để xác định đồ thị có liên thông hay không ( Dữ liệu nhập : ma trận kề).

Bài tập Tuần 07 ( 3 tiết) :
Cài đặt chương trình kiểm tra nếu đồ thị không liên thông thì có bao nhiêu thành phần liên thông ( Dữ liệu nhập : ma trận kề).

Bài tập Tuần 08 ( 3 tiết) :
Cài đặt thuật toán Dijkstra-Moore ( DM) để tìm đường đi ngắn nhất từ đỉnh gốc “s” đến các đỉnh còn lại ( Dữ liệu nhập : ma trận trọng số).

Tuần 09 ( 3 tiết) :
Kiểm tra.

Bài tập Tuần 10 ( 3 tiết) :
Cài đặt thuật toán Floy để tìm đường đi ngắn nhất giữa 2 đỉnh bất kỳ ( Dữ liệu nhập : ma trận trọng số).

III / Ghi chú :
 Số tiết Thực hành là 30 tiết.
 Thi thực hành trên máy được chia làm 2 lần :
 Lần 1 (30%) : Sinh viên sẽ được kiểm tra vào tuần 9.
 Lần 2 (70%) : Sinh viên sẽ được thi sau tuần 10.
 Tổng điểm 2 lần thi của SV không dưới 5 thì đậu Phần Thực hành.

TP.HCM, ngày 24 tháng 03 năm 2008
GV HDTH




MAI THANH TUẤN


http://www.ziddu.com/download.php?uid=aayblpmma7Ghm5qttayZlJyiZ6%2BWlJmt7
Về Đầu Trang Go down
Willclinton
Mod
Willclinton


Tổng số bài gửi : 407
Age : 35
Đến từ : Bún Giò Heo+Heo Way
Registration date : 05/04/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeMon 05 May 2008, 9:41 pm

Hệ Phương Trình 2:
Code:

#include <stdio.h>
#include <conio.h>
void main()
{
   float a1,a2,b1,b2,c1,c2,D,Dx,Dy;
  printf("nhap so a1:");scanf("%f",&a1);
  printf("nhap so a2:");scanf("%f",&a2);
  printf("nhap so b1:");scanf("%f",&b1);
  printf("nhap so b2:");scanf("%f",&b2);
  printf("nhap so c1:");scanf("%f",&c1);
  printf("nhap so c2:");scanf("%f",&c2);
  D=a1*b2-a2*b1;
  Dx=-(b1*c2-b2*c1);
  Dy=a1*c2-c1*a2;
  if(D!=0)
  {
     printf("phuong trinh Dx: %f ",Dx/D);
     printf("phuong trinh Dy: %f ",Dy/D);
  }
  if(D==0)
  {   if(Dx==0&&Dy==0)
      printf("he phuong trinh vo so nghiem:");
      if(Dx!=0&&Dy!=0)
      printf("he phuong trinh vo nghiem:");
  }
  getch();
}
Những cậu nào chưa hiểu chỗ nào có thể copy bài làm(những chỗ còn thắc mắc) và post câu hỏi bên topic hộp thư góp ý (thanks)
Về Đầu Trang Go down
Willclinton
Mod
Willclinton


Tổng số bài gửi : 407
Age : 35
Đến từ : Bún Giò Heo+Heo Way
Registration date : 05/04/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeMon 05 May 2008, 9:45 pm

Hệ Phương Trình 3:
Code:

 #include <stdio.h>
#include <conio.h>
void main()
{
   float a11,a21,a31,b12,b22,b32,c13,c23,c33,d14,d24,d34,D,Dx,Dy,Dz;
  printf("nhap so a11:");scanf("%f",&a11);
  printf("nhap so b12:");scanf("%f",&b12);
  printf("nhap so c13:");scanf("%f",&c13);
  printf("nhap so d14:");scanf("%f",&d14);
  printf("nhap so a21:");scanf("%f",&a21);
  printf("nhap so b22:");scanf("%f",&b22);
  printf("nhap so c23:");scanf("%f",&c23);
  printf("nhap so d24:");scanf("%f",&d24);
  printf("nhap so a31:");scanf("%f",&a31);
  printf("nhap so b32:");scanf("%f",&b32);
  printf("nhap so c33:");scanf("%f",&c33);
  printf("nhap so d34:");scanf("%f",&d34);
  D=a11*(b22*c33-b32*c23)-a21*(b12*c33-c13*b32)+a31*(b12*c23-b22*c13);
  Dx=-d14*(b22*c33-c23*b32)+d24*(b12*c33-c13*b32)-d34*(b12*c23-b22*c13);
  Dy=a11*(d24*c33-d34*c23)-a21*(d14*c33-d34*c13)+a31*(d14*c23-d24*c13);
  Dz=a11*(b22*d34-d24*b32)-a21*(b12*d34-b32*d14)+a31*(b12*d24-b22*d14);
  if(D!=0)
  {
     printf("phuong trinh Dx: %f ",Dx/D);
     printf("phuong trinh Dy: %f ",Dy/D);
      printf("phuong trinh Dy: %f ",Dz/D);
  }
  if(D==0)
  {   if(Dx==0&&Dy==0&&Dz==0)
      printf("he phuong trinh vo so nghiem:");
      if(Dx!=0&&Dy!=0&&Dz!=0)
      printf("he phuong trinh vo nghiem:");
  }
  getch();
}
Những cậu nào chưa hiểu chỗ nào có thể copy bài làm(những chỗ còn thắc mắc) và post câu hỏi bên topic hộp thư góp ý (thanks)
Về Đầu Trang Go down
cang_khon_dai_na_dy
Thành viên cấp 2
Thành viên cấp 2
cang_khon_dai_na_dy


Tổng số bài gửi : 102
Đến từ : cát bụi
Registration date : 01/05/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeMon 05 May 2008, 9:56 pm

Code:
#include<conio.h>
#include<stdio.h>
#include<math.h>
void main()
{
  clrscr();
  char ch;
  int a,b,c,d,e,f,g,h,i,j,k,l;
  double x,y,z,w;
  do
  {
  printf("\n\t CT Giai He PT X va Y");
  printf("\n\t moi Ban Nhap Gia Tri a,b,c,d:");
  scanf("%d%d%d%d",&a,&b,&c,&d);
  printf("\n\t moi Ban Nhap Gia Tri e,f,g,h:");
  scanf("%d%d%d%d",&e,&f,&g,&h);
  printf("\n\t moi Ban Nhap Gia Tri i,j,k,l:");
  scanf("%d%d%d%d",&i,&j,&k,&l);
  dw=a*f*k+b*g*i+e*c*j-c*f*i-b*e*k-a*g*j;
  dx=b*g*l+c*h*j+f*k*d-d*g*j-f*c*l-b*h*k;
  dy=-a*g*l-c*h*i-e*k*d+d*g*i+e*c*l+a*h*k;
  dz=a*f*l+b*h*i+e*j*d-f*d*i-e*b*l-a*j*h;
  if (dw==0,dx==0,dy==0,dz==0)
      printf("\n\t He PT Vo So Nghiem");
      else  if((a*f*k+b*i*g+c*e*j-c*f*i-a*g*j-b*e*k)==0)
        printf("\n\t He PT Vo Nghiem");
        else
        printf("\n\t PT Co Nghiem X=%f,Y=%f,Z=%f",dx/dw,dy/dw,dz/dw);
  printf("\n\t Ban Co Muon Tiep Tuc Hok (C/K)");
  ch=getch();
  }
  while ((ch=='c')||(ch=='C'));
  getch();
}
Code:
#include<conio.h>
#include<stdio.h>
#include<math.h>
void main()
{
  clrscr();
  char ch;
  float a,b,c,d,e,f,g,h,i,j,k,l;
  double dx,dy,dz,dw;
  do
  {
  printf("\n\t CT Giai He PT X Y Z");
  printf("\n\t moi Ban Nhap Gia Tri a,b,c,d:");
  scanf("%f%f%f%f",&a,&b,&c,&d);
  printf("\n\t moi Ban Nhap Gia Tri e,f,g,h:");
  scanf("%f%f%f%f",&e,&f,&g,&h);
  printf("\n\t moi Ban Nhap Gia Tri i,j,k,l:");
  scanf("%f%f%f%f",&i,&j,&k,&l);
  dw=a*f*k+b*g*i+e*c*j-c*f*i-b*e*k-a*g*j;
  dx=b*g*l+c*h*j+f*k*d-d*g*j-f*c*l-b*h*k;
  dy=-a*g*l-c*h*i-e*k*d+d*g*i+e*c*l+a*h*k;
  dz=a*f*l+b*h*i+e*j*d-f*d*i-e*b*l-a*j*h;
  if (dw==0,dx==0,dy==0,dz==0)
      printf("\n\t He PT Vo So Nghiem");
      else  if((a*f*k+b*i*g+c*e*j-c*f*i-a*g*j-b*e*k)==0)
        printf("\n\t He PT Vo Nghiem");
        else
        printf("\n\t PT Co Nghiem X=%f,Y=%f,Z=%f",dx/dw,dy/dw,dz/dw);
  printf("\n\t Ban Co Muon Tiep Tuc Hok (C/K)");
  ch=getch();
  }
  while ((ch=='c')||(ch=='C'));
  getch();
}

Về Đầu Trang Go down
cang_khon_dai_na_dy
Thành viên cấp 2
Thành viên cấp 2
cang_khon_dai_na_dy


Tổng số bài gửi : 102
Đến từ : cát bụi
Registration date : 01/05/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeSun 11 May 2008, 11:32 pm

Cài đặt thuật toán Depth First Search ( DFS : duyệt theo chiều sâu ) để xác định đồ thị có liên thông hay không ( Dữ liệu nhập : ma trận kề).
Code:
#include <dos.h>
#include <graphics.h>
#include <alloc.h>
#include "mouse.inc"

#pragma warn -sus

/* Toi da 100 nut */
#define MAX 100

int gr_drive=DETECT, gr_mode;
unsigned char lbutton, rbutton;
int xmouse, ymouse;

int sonut = 0;
typedef struct tagnode {
  int x, y; /* Vi tri tren man hinh */
} NODE;

NODE nut[MAX];
int  weight[MAX][MAX];
int  themduoc = 1;

void DFS();

void initialize()
{
  char s1[] = "Nhap nut phai chuot de them nut";
  char s2[] = "Nhap nut trai chuot va re de them duong noi";
  char s3[] = "Nhan phim Q de thoat - S de bat dau minh hoa giai thuat";
  int i, j;

  initgraph(&gr_drive, &gr_mode, "");
  reset_mouse();
  setcolor(YELLOW);
  rectangle(0, 0, getmaxx(), getmaxy());
  outtextxy((getmaxx()-textwidth(s1))/2, 5, s1);
  outtextxy((getmaxx()-textwidth(s2))/2, 15, s2);
  outtextxy((getmaxx()-textwidth(s3))/2, 25, s3);
  line(0, 35, getmaxx(), 35);
  set_mouse_hlimits(5, getmaxx()-6);
  set_mouse_vlimits(40, getmaxy()-6);
  for (i=0; i<MAX; i++)
    for (j=0; j<MAX; j++)
      weight[i][j] = -1;
  show_mouse();
}

int index(int x, int y, int heso)
{
  int i, OK = 0;
  for (i=0; i<sonut; i++)
    if (abs(nut[i].x - x) < 4*heso && abs(nut[i].y - y) < 4*heso)
    {
      OK = 1;
      break;
    }
  if (OK)
    return i;
  else
    return -1;
}

void get_mouse()
{
  do {
    get_mouse_button(&lbutton, &rbutton, &xmouse, &ymouse);
  } while (lbutton == 0 && rbutton == 0 && !kbhit());
}

void clear_mouse()
{
  do {
    get_mouse_button(&lbutton, &rbutton, &xmouse, &ymouse);
  } while (lbutton == 1 || rbutton == 1);
}

int input_weight(int start, int end)
{
  int size, i;
  void far *buf;
  char c, s[]="Nhap trong so", s1[3]="";
  size = imagesize(getmaxx()/2 - 70, getmaxy()/2 - 20,getmaxx()/2 + 70, getmaxy()/2 + 10);
  buf = malloc(size);
  getimage(getmaxx()/2 - 70, getmaxy()/2 - 20,getmaxx()/2 + 70, getmaxy()/2 + 10, buf);
  setcolor(BLUE);
  setfillstyle(SOLID_FILL, BLUE);
  bar(getmaxx()/2 - 70, getmaxy()/2 - 20,getmaxx()/2 + 70, getmaxy()/2 + 10);
  setcolor(WHITE);
  rectangle(getmaxx()/2 - 70, getmaxy()/2 - 20,getmaxx()/2 + 70, getmaxy()/2 + 10);
  line(getmaxx()/2 - 70, getmaxy()/2 - 5,getmaxx()/2 + 70, getmaxy()/2 - 5);
  outtextxy((getmaxx()-textwidth(s))/2 - 4, getmaxy()/2 - 16, s);
  i = 0;
  do {
    do {
      c = getch();
    } while ((c < '0' || c > '9') && c != 13 && c != 27 && c != 8);
    if (c>='0' && c <= '9' && i<2)
    {
      s1[i] = c;
      s1[i+1] = 0;
      i++;
    }
    if (c == 8 && i>0)
    {
      i--;
      s1[i] = 0;
    }
    setcolor(BLUE);
    setfillstyle(SOLID_FILL, BLUE);
    bar(getmaxx()/2 - 69, getmaxy()/2 - 3,getmaxx()/2 + 69, getmaxy()/2 + 9);
    setcolor(YELLOW);
    outtextxy((getmaxx()-textwidth(s))/2 - 4, getmaxy()/2 - 1, s1);
  } while(c != 13 && c != 27);
  putimage(getmaxx()/2 - 70, getmaxy()/2 - 20, buf, COPY_PUT);
  free(buf);
  if (c == 13)
  {
    i = atoi(s1);
    weight[start][end] = i;
    weight[end][start] = i;
    return i;
  }
  else
    return -1;
}

void get_weight()
{
  int x, y, oldx, oldy, i, OK = 0, start, end;
  char s[5];
  setwritemode(XOR_PUT);
  setcolor(GREEN);
  for (i=0; i<sonut; i++)
    if (abs(nut[i].x - xmouse) < 4 && abs(nut[i].y - ymouse) < 4)
    {
      start = i;
      oldx = x = nut[i].x;
      oldy = y = nut[i].y;
      OK = 1;
      break;
    }
  if (!OK)
    return;
  hide_mouse();
  line(x, y, oldx, oldy);
  clear_mouse();
  show_mouse();
  do {
    get_mouse_button(&lbutton, &rbutton, &xmouse, &ymouse);
    if (oldx != xmouse || oldy != ymouse)
    {
      hide_mouse();
      line(x, y, oldx, oldy);
      oldx = xmouse;
      oldy = ymouse;
      line(x, y, oldx, oldy);
      show_mouse();
    }
  } while (lbutton == 0);
  OK = 0;
  hide_mouse();
  line(x, y, oldx, oldy);
  for (i=0; i<sonut; i++)
    if (abs(nut[i].x - xmouse) < 4 && abs(nut[i].y - ymouse) < 4)
    {
      end = i;
      OK = 1;
      break;
    }
  if (OK && end != start)
  {
    if ((i = input_weight(start, end)) != -1)
    {
      setcolor(GREEN);
      line(x, y, nut[end].x, nut[end].y);
      itoa(i, s, 10);
      setcolor(RED);
      outtextxy(x + (nut[end].x - x) / 2 + 4, y + (nut[end].y - y) / 2 + 4, s);
    }
  }
  setwritemode(COPY_PUT);
  show_mouse();
}

void main()
{
  int done = 0;
  char c, s[4];

  initialize();
  do {
    get_mouse();
    if (kbhit())
    {
      c = toupper(getch());
      switch(c)
      {
        case 'Q' : done = 1; break;
        case 'S' : DFS(); break;
      }
    }
    if (rbutton == 1 && index(xmouse, ymouse, 10) == -1)
    {
      hide_mouse();
      if (themduoc)
      {
        setcolor(WHITE);
        circle(xmouse, ymouse, 4);
        itoa(sonut, s, 10);
        setcolor(CYAN);
        outtextxy(xmouse+6, ymouse-6, s);
        nut[sonut].x = xmouse;
        nut[sonut].y = ymouse;
        sonut++;
        if (sonut>=MAX)
          themduoc = 0;
      }
      clear_mouse();
      show_mouse();
    }
    if (lbutton == 1)
    {
      get_weight();
      clear_mouse();
    }
  } while (!done);
  closegraph();
}

void out(char *s)
{
  setcolor(BLUE);
  setfillstyle(SOLID_FILL, BLUE);
  bar(1, 36, getmaxx()-1, 46);
  setcolor(YELLOW);
  outtextxy(4, 38, s);
}

int top, stack[MAX];
int visited[MAX];

void push(int value)
{
  stack[++top] = value;
  visited[value] = 1;
}

void pop(int *value)
{
  *value = stack[top--];
}

int get()
{
  if (!isempty())
    return stack[top];
  else
    return -1;
}

int isempty(void)
{
  return (top == -1);
}

int xpos = 1;

void visit(int nutxet)
{
  int i, OK;
  char s[3];

  push(nutxet);
  setcolor(YELLOW); itoa(nutxet, s, 10); outtextxy(xpos++*20, 38, s);
  circle(nut[nutxet].x, nut[nutxet].y, 4); delay(1000);
  visited[nutxet] = 1;
  for (i=0; i<sonut; i++)
    if (weight[nutxet][i] != -1 && visited[i] == 0)
      visit(i);
  pop(&nutxet);
}

void DFS()
{
  int start=-1, size, nutxet, i, OK;
  void far *buf;
  char *s = {"Dung nut trai de chon nut dau."};

  size = imagesize(1, 36, getmaxx()-1, 46);
  buf = malloc(size);
  getimage(1, 36, getmaxx()-1, 46, buf);
  out(s);
  do {
    get_mouse();
    start = index(xmouse, ymouse, 1);
  } while (rbutton == 0 && start == -1);
  if (lbutton == 1)
  {
    clear_mouse();
    hide_mouse();
    setcolor(RED);
    circle(nut[start].x, nut[start].y, 4);
    setcolor(BLUE);
    setfillstyle(SOLID_FILL, BLUE);
    bar(1, 36, getmaxx()-1, 46);
/* Bat dau giai thuat */
    top = -1;
    for (i=0; i<sonut; i++)
      visited[i] = 0;
    visit(start);
/* Ket thuc giai thuat */
    show_mouse();
    getch();
  }
  putimage(1, 36, buf, COPY_PUT);
  free(buf);
  clear_mouse();
  hide_mouse();
  setcolor(WHITE);
  if (start != -1)
    circle(nut[start].x, nut[start].y, 4);
  show_mouse();
Về Đầu Trang Go down
cang_khon_dai_na_dy
Thành viên cấp 2
Thành viên cấp 2
cang_khon_dai_na_dy


Tổng số bài gửi : 102
Đến từ : cát bụi
Registration date : 01/05/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeWed 21 May 2008, 11:26 pm

xuất ma trận
Code:
#include<stdio.h>
#include<conio.h>
#define max 20
void  xuatmatran(int a[][max],int n);
int docmatran(int a[][max],int&n);
//=================================
void main()
{
   clrscr();
   int a[max][max],n;
   if(docmatran(a,n)==1)
   {
      printf("xuat ma tran" );
      xuatmatran (a,n);
   }
   else
   printf("khong doc duoc");
   getch();
}
//==================================
int docmatran(int a[][max],int &n)
{
   FILE *f;
   f = fopen("E:\dothi.txt","rt");
   if(f!= NULL)
   {
      fscanf(f,"%d",&n);
      for(int i=0 ;i<n;i++)
      for(int j=0 ;j<n;j++)
      fscanf(f,"%d",&a[i][j]);
      fclose(f);
      return 1;
   }
fclose(f);
return 0;
}
//========================================
void  xuatmatran(int a[][max],int n)
{
   for(int i=0 ;i<n;i++)
   {
      for(int j=0 ;j<n;j++)
      printf("%d",a[i][j]);
      printf("\n");
   }
   getch();
}




Về Đầu Trang Go down
Night_Rainbow
Thành viên mới
Thành viên mới
avatar


Tổng số bài gửi : 1
Registration date : 18/05/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeSun 25 May 2008, 12:36 am

Nhìn qua nhìn lại, nhìn lên nhìn xuống. Chỉ biết ngậm ngùi mà thốt lên 2 từ => Sặc máu :st (56):, bài zài quá :st (65):
Về Đầu Trang Go down
Willclinton
Mod
Willclinton


Tổng số bài gửi : 407
Age : 35
Đến từ : Bún Giò Heo+Heo Way
Registration date : 05/04/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeSun 25 May 2008, 8:37 am

:st (3) chịu khó copy về nhà text lại xem chứ coi hết một lần mệt lắm cậu àh!!! :st (26) Chú Ý không spam ở khu vực này.Thanks
Về Đầu Trang Go down
Sakura
Thành viên cấp 2
Thành viên cấp 2
Sakura


Tổng số bài gửi : 98
Age : 35
Đến từ : tầng địa ngục 19
Registration date : 17/04/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeMon 26 May 2008, 9:00 pm

:st (40) Edit by Willclinton DFS duyet theo chieu sau ma trận liên thông nè:
Code:

#include<stdio.h>
#include<conio.h>
#define max 20

int docdulieufile(int a[][max],int &n);
void xuatmatran(int a[][max],int n);
void visit(int a[][max],int n,int k);
int DFS(int a[][max],int&n)    ;
int d[max];

void main()
{
   clrscr ();
  int a[max][max];
  int n;
  if(docdulieufile(a,n)==1)
  {
     printf("nhap ma tran tren: ");
      xuatmatran (a,n);
      if(DFS (a,n)==1)
         printf("do thi lien thong");
      else
         printf("do thi khong lien thong");
  }
  else
  {
     printf("khong doc duoc ma tran,ket thuc chu trinh");
      getch();
  }
  getch();
}
int docdulieufile(int a[][max],int &n)
{
FILE *f;
f=fopen("F:/mt.txt","rt");
if (f!=NULL)
{
   fscanf(f,"%d",&n);

  for (int i=0;i<n;i++)
  for (int j=0;j<n;j++)
  fscanf(f,"%d",&a[i][j]);

  fclose(f);
  return 1;
}
fclose (f);
return 0;
}
void xuatmatran(int a[][max],int n)
{
      for(int i=0;i<n;i++)
      {
      for(int j=0;j<n;j++)

         printf("%2d",a[i][j]);
        printf("\n");
      }
}
int DFS (int a[][max],int &n)
{
   int i ;
   for(i=0;i<n;i++) d[i]=0;
     visit(a,n,0);
  for(i=0;i<n;i++)
         if (d[i]==0) break;
      if (i==n) return 1;
      else      return 0;
}
void visit(int a[][max],int n,int k)
{
   int j;
   d[k]=1;
  for (int j=0;j<n;j++)
    if((a[k][j])==1 && (d[j]==0))
     visit(a,n,j);
}
Về Đầu Trang Go down
Willclinton
Mod
Willclinton


Tổng số bài gửi : 407
Age : 35
Đến từ : Bún Giò Heo+Heo Way
Registration date : 05/04/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeSun 15 Jun 2008, 9:53 pm

Lien Thong Tha`nh Pha`n Trong Ma Tran Ke`
Code:

#include <stdio.h>
#include <conio.h>
#define max 20
int docmatran(int a[][max],int &n);
void xuatmatran(int a[][max], int n);
int DFS(int a[][max],int n);
int d[max];
int label;
void visit(int a[][max],int n,int k);
void main()
{
   int a[max][max];
  int n;
  if(docmatran(a,n)==1)
  {
     printf("Xuat MT:\n");
      xuatmatran(a,n);
      if(DFS(a,n)==1)
   {
         printf("ma tran lien thong");

   }
      else
         {printf("ma tran khong lien thong");
        printf("\n co %d thanh phan lien thong: ",label); }
      getch();
  }
  else
  printf("ko doc dc");
  getch();
}
int docmatran(int a[][max],int &n)
{
   FILE*f;
  f=fopen("E:\dothi1.txt","rt");
  if(f!=NULL)
  {
     fscanf(f,"%d",&n);
      for(int i=0;i<n;i++)
         for(int j=0;j<n;j++)
        fscanf(f,"%d",&a[i][j]);
        fclose(f);
        return 1;
  }
  fclose(f);
  return 0;
}
void xuatmatran(int a[][max], int n)
{
   for(int i=0;i<n;i++)
  {
     for(int j=0;j<n;j++)
      printf("%3d",a[i][j]);
      printf("\n");
  }
}
int DFS(int a[][max],int n)
{
   int i;
  label=1;
  for(i=0;i<n;i++) d[i]=0;
  visit(a,n,0);
  for(i=0;i<n;i++)
  if(d[i]==0)
      {
         label++;
        visit(a,n,i);
      };
  if(label==n) return 1;
  else return 0;
}
void visit(int a[][max],int n,int k)
{
   d[k]=1;
  for(int j=0;j<n;j++)
  if((a[k][j]==1)&&(d[j]==0))
  visit(a,n,j);
}
Về Đầu Trang Go down
Willclinton
Mod
Willclinton


Tổng số bài gửi : 407
Age : 35
Đến từ : Bún Giò Heo+Heo Way
Registration date : 05/04/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeSun 15 Jun 2008, 9:55 pm

DM-Di~nh.......
Code:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define vocuc 9000
#define MAX 20
int docmatran(int a[][MAX],int &n);
void xuatmatran(int a[][MAX],int n);
void DM(int a[][MAX],int n);
void main()
{
   clrscr();
  int a[MAX][MAX];
  int n;
  if(docmatran(a,n)==1)
  {
     printf("xuat matran: \n");
      xuatmatran(a,n);
      getch();
  }
  else printf(" khong doc duoc : ");
  DM(a,n);
  getch();
}
int docmatran(int a[][MAX],int &n)
{
   FILE *f;
  f=fopen("F:/dothi.txt","rt");
  if(f!=NULL)
  {
     fscanf(f,"%d",&n);
      for(int i=0;i<n;i++)
      for(int j=0;j<n;j++)
      fscanf(f,"%d",&a[i][j]);
      fclose(f);
      return 1;
  }
  fclose(f);
  return 0;
}
void xuatmatran(int a[][MAX],int n)
{
   for(int i=0;i<n;i++)
     {
         for(int j=0;j<n;j++)
        printf("%6d",a[i][j]);
        printf("\n");
      }
}
void DM(int a[][MAX],int n)
{
   int Mark[MAX];
  int l[MAX];
  int pr[MAX];
  int i;
  for(i=0;i<n;i++)
     Mark[i]=0;
  int S=0;
  Mark[S]=1;
  for(i=0;i<n;i++)
  {
     l[i]=a[S][i];
      pr[i]=S;
  }
  int bl=n-1;
  while(bl>0)
  {
     int min=vocuc;
      int k;
      for(i=0;i<n;i++)
         if(Mark[i]==0)
           if(l[i]<min)
            {
               min=l[i];
              k=i;
            }
        if(min==vocuc)
           printf("do thi khong lien thong ");
            Mark[k]=1;
            for(i=0;i<n;i++)
            if(Mark[i]==0)
               if(l[k]+a[k][i]<l[i])
              {
                 l[i]=l[k]+a[k][i];
                  pr[i]=k;
              }
            bl--;
        }
        printf("\n dinh goc S= %d",S+1);
        for(i=0;i<n;i++)
         {
           if(l[i]==vocuc)
            printf(" khong co duong di tu dinh goc S den dinh %d",i+1);
            printf("\nduong di tu dinh %d den hoc S=%d co chieu dai= %d",i+1,S+1,l[i]);
            int tam=i;
            printf("%d -> ",i+1);
            while(pr[tam]!=S)
            {
               printf("%d -> ",pr[tam]+1);
              tam=pr[tam];
            }
            printf("%d\n",S+1);
            }
        }
Về Đầu Trang Go down
Willclinton
Mod
Willclinton


Tổng số bài gửi : 407
Age : 35
Đến từ : Bún Giò Heo+Heo Way
Registration date : 05/04/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeSun 15 Jun 2008, 9:59 pm

Nhap Mot Ki' Tu Bat Ki` Va` Xua't Ra Dang Thuo`ng || Hoa || So'....
Code:

#include <ctype.h>
#include <conio.h>
#include <stdio.h>
void main()
{
   char a;
  printf("nhap bat ki tu nao bat ki: ");
  scanf("%c",&a);
  if(97<=a&&a<=122) printf(" in ra chu thuong: ");
  else if(65<=a&&a<90) printf(" in ra chu hoa: ");
  else if(48<=a&&a<57) printf(" in ra dang so': ");
  else printf("  ki tu khac : ");
  printf("%c \n",a);

  getch();
  }
Về Đầu Trang Go down
Willclinton
Mod
Willclinton


Tổng số bài gửi : 407
Age : 35
Đến từ : Bún Giò Heo+Heo Way
Registration date : 05/04/2008

Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitimeSun 15 Jun 2008, 10:35 pm

Code:

/* Cong 4 so' nhap vao ( chi cong nhung so am )*/

#include<conio.h>
#include<stdio.h>
void main()
{
  clrscr();
  char ch;
  do{
  int a,b,c,d,a1,a2,a3,a4;
  printf(" nhap so a: "); scanf("%d",&a);
  printf(" nhap so b: "); scanf("%d",&b);
  printf(" nhap so c: "); scanf("%d",&c);
  printf(" nhap so d: "); scanf("%d",&d);
  if(a<0) a1=a;
  else a1=0;
  if(b<0) a2=b;
  else a2=0;
  if(c<0) a3=c;
  else a3=0;
  if(d<0) a4=d;
  else a4=0;
  printf(" tong la : %d ",a1+a2+a3+a4);

  printf("\n\t Ban Co Muon Tiep Tuc Hok (nhan C)\n");
  ch=getch();
  }
  while ((ch=='c')||(ch=='C'));

}
Về Đầu Trang Go down
Sponsored content





Bài Tập Thực Hành Toán-Tin!! Empty
Bài gửiTiêu đề: Re: Bài Tập Thực Hành Toán-Tin!!   Bài Tập Thực Hành Toán-Tin!! I_icon_minitime

Về Đầu Trang Go down
 
Bài Tập Thực Hành Toán-Tin!!
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Box Học tập :: Các môn học :: Toán - Tin-
Chuyển đến