Forum sinh viên K55CC - UET
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.
Forum sinh viên K55CC - UET

Sinh viên K55CC - Đại học Công Nghệ
 
Trang ChínhTrang Chính  Portal*Portal*  Latest imagesLatest images  Đăng kýĐăng ký  Đăng Nhập  

 

 lab02 - CTDL & GT

Go down 
5 posters
Tác giảThông điệp
DEV.CENTER
Thành viên tích cực
Thành viên tích cực
DEV.CENTER


Tổng số bài gửi : 118
Votes : 13
Join date : 15/09/2011
Age : 30
Đến từ : The Torchwood Universe

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyTue Sep 20, 2011 8:10 pm

lab cũ đã qua, lab2 đã tới... mọi người cùng thảo luận tiếp nào cười nhăn răng
Về Đầu Trang Go down
kid1412_92
Thành viên
Thành viên



Tổng số bài gửi : 2
Votes : 0
Join date : 19/09/2011

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyTue Sep 20, 2011 9:30 pm

nhung ma lab 2 thi co fan nao can thao luan the cười ngoác miệng
Về Đầu Trang Go down
susu9x
Thành viên
Thành viên
susu9x


Tổng số bài gửi : 28
Votes : 0
Join date : 15/09/2011

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyTue Sep 20, 2011 10:10 pm

không đồng ý không được đâu nha cái gì thế ....lab01 tớ còn chưa xong mà :-<: .Thứ 5 này mới phải nộp mà
Về Đầu Trang Go down
DEV.CENTER
Thành viên tích cực
Thành viên tích cực
DEV.CENTER


Tổng số bài gửi : 118
Votes : 13
Join date : 15/09/2011
Age : 30
Đến từ : The Torchwood Universe

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyTue Sep 20, 2011 11:40 pm

kid1412_92 đã viết:
nhung ma lab 2 thi co fan nao can thao luan the cười ngoác miệng
xem ai găp vấn đề j thì thảo luận vấn đề đấy tập thể dục
Về Đầu Trang Go down
Admin
Admin
Admin
Admin


Tổng số bài gửi : 80
Votes : 7
Join date : 14/09/2011
Age : 32
Đến từ : Hải Dương, Việt Nam

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyWed Sep 21, 2011 7:39 am

Nghe chừng không ai muốn nói trước nhỉ? Để mình vậy... Bạn có hướng giải quyết bài 3 trong lab 2 chưa??? bối rối
Về Đầu Trang Go down
https://svk55cc.forum-viet.com
DEV.CENTER
Thành viên tích cực
Thành viên tích cực
DEV.CENTER


Tổng số bài gửi : 118
Votes : 13
Join date : 15/09/2011
Age : 30
Đến từ : The Torchwood Universe

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyWed Sep 21, 2011 11:07 am

Admin đã viết:
Nghe chừng không ai muốn nói trước nhỉ? Để mình vậy... Bạn có hướng giải quyết bài 3 trong lab 2 chưa??? bối rối
t có hướng nhưng chưa code nên ko biết có đc hay ko:
b1: tìm phần tử cuối cùng có giá trị là 1 ở dòng thứ nhất.
b2: dùng vòng while, từ phần tử đó dịch dần xuống dưới
if (A[i][j]==0) i++;j--;
if (A[i][j]==1) j++;
dùng một mảng b để lưu những giá trị của các hàng có nhiều phần tử 1 nhất..
có j code rồi post sau cười nhăn răng


Được sửa bởi DEV.CENTER ngày Wed Sep 21, 2011 9:46 pm; sửa lần 1.
Về Đầu Trang Go down
kid1412_92
Thành viên
Thành viên



Tổng số bài gửi : 2
Votes : 0
Join date : 19/09/2011

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyWed Sep 21, 2011 9:05 pm

to k hgieu lam ve cach lam cua cau DEV.Center oi, theo to co cach giai don gian la gap 1 thi sang ngang gap 0 thi xuong dong thoi cười ngoác miệng
Về Đầu Trang Go down
DEV.CENTER
Thành viên tích cực
Thành viên tích cực
DEV.CENTER


Tổng số bài gửi : 118
Votes : 13
Join date : 15/09/2011
Age : 30
Đến từ : The Torchwood Universe

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyWed Sep 21, 2011 9:47 pm

kid1412_92 đã viết:
to k hgieu lam ve cach lam cua cau DEV.Center oi, theo to co cach giai don gian la gap 1 thi sang ngang gap 0 thi xuong dong thoi cười ngoác miệng

thì if (A[i][j]==1) j++; chả là sang ngang là j đấy chịu
if (A[i][j]==0) i++; j--; t xuống chéo chứ ko xuống thẳng.. tránh trường hợp có nhiều dòng cùng có số số 1 ngang nhau
Về Đầu Trang Go down
Admin
Admin
Admin
Admin


Tổng số bài gửi : 80
Votes : 7
Join date : 14/09/2011
Age : 32
Đến từ : Hải Dương, Việt Nam

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyWed Sep 21, 2011 11:06 pm

kid1412_92 đã viết:
to k hgieu lam ve cach lam cua cau DEV.Center oi, theo to co cach giai don gian la gap 1 thi sang ngang gap 0 thi xuong dong thoi cười ngoác miệng

Note: Bạn ơi... Post bài bằng tiếng Việt có dấu hoặc tiếng Anh nhé!
Về Đầu Trang Go down
https://svk55cc.forum-viet.com
Admin
Admin
Admin
Admin


Tổng số bài gửi : 80
Votes : 7
Join date : 14/09/2011
Age : 32
Đến từ : Hải Dương, Việt Nam

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyThu Sep 22, 2011 9:43 am

Bài 1 trong lab 2 mình dùng đệ quy, chẳng biết đúng không nữa... cười nhăn răng có gì các bác chém nhẹ tay nhá!
Code:


// Tinh ham mu voi do phuc tap thoi gian O(logn)
#include <iostream>
#include <conio.h>
using namespace std;
long power( int x, int n);
int main()
{   int x, n;
   cout << "Nhap vao gia tri co so: ";
   cin >> x;
   cout << "Nhap vao gia tri mu: ";
   cin >> n;
   cout << "\n" << x << "^" << n << " = " << power( x, n);
   getch();
   return 0;
}
/* Do phuc tap O(n)
long power( int x, int n)
{   int k;
   if(x == 0)
      return 0;
   if(n == 0)
      return 1;
   long multi = 1;
   k = int( n/2);
   for(int i = 0;i < k;i++)
      multi *= x;
   if(n%2 == 1)
      multi *= multi * x;
   else
      multi *= multi;
   return multi;
}
*/
// Do phuc tap O(logn)
long power( int x, int n)
{   long multi = 1;
   if(x == 0)
      return 0;
   if(n == 0)
      return 1;
   else
      multi = x*power( x, n-1);
   return multi;
}

Còn bài 2 mình làm theo hướng chia thành từng cặp rồi so sánh. Phần tử lớn hơn "tống" về cuối dãy, phần tử nhỏ hơn đưa về đầu tiên, sau đó tìm min của 1/2 dãy đầu và max của 1/2 dãy sau...

Code:


// Tim max va min cua day n so su dung toi da 3n/2 phep so sanh
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{   int *a, n;
   cout << "Kich thuoc mang A: ";
   cin >> n;
   a = new int [n];
   // Nhap mang A
   for(int i = 0;i < n;i++)
   {   cout << "A[" << i+1 << "] = ";
      cin >> a[i];
   }
   // Xep nhom
   for(int i = 0;i < n/2;i++)
      if(a[i] > a[n-i-1])
      {   int temp = a[i];
         a[i] = a[n-i-1];
         a[n-i-1] = temp;
      }
   // Tim min, max tung doan chuoi
   int min, max;
   min = max = a[n/2+1];
   for(int i = 0;i < n/2+1;i++)
      if(min > a[i])
         min = a[i];
   for(int i = n/2;i < n;i++)
      if(max < a[i])
         max = a[i];
   // Ket qua:
   cout << "\nMax = " << max;
   cout << "\nMin = " << min;
   getch();
   return 0;
}

Các chú chém nhẹ tay nhá! cắn móng tay
Về Đầu Trang Go down
https://svk55cc.forum-viet.com
Admin
Admin
Admin
Admin


Tổng số bài gửi : 80
Votes : 7
Join date : 14/09/2011
Age : 32
Đến từ : Hải Dương, Việt Nam

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyThu Sep 22, 2011 10:34 am

Tiện thể post luôn code bài FastFind... Anh em lên chỉ giáo nhiệt tình nhá! (Tuần sau em còn nộp bài... :=D>: )
Code:


// Tim hang co nhieu so 1 nhat trong mang cho truoc
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{   int **arr, *b, n;
   cout << "Nhap kich thuoc mang (n*n): ";
   cin >> n;
   arr = new int *[n];
   b = new int [n];
   for( int i = 0;i < n;i++)
      arr[i] = new int [n];
   cout << "Nhap mang A:\n";
   for( int i = 0;i < n;i++)
      for( int j = 0;j < n;j++)
      {   cout << "Nhap A[" << i+1<< "][" << j+1 << "] = ";
         cin >> arr[i][j];
      }
   // Dem so tren mang
   for(int j = 0, i = 0;i < n; )
   {   
      if(arr[i][j] == 1)
      {   if(j >= n)
         {   i++;
            j--;
         }
         else
            j++;
         b[i] = j;
         continue;
      }
      else
      {   b[i] = j;
         i++;
         j--;
      }
   }
   // Ket qua
   cout << "\n";
   int max = b[0];
   for( int i = 0;i < n;i++)
      if(max < b[i])
         max = b[i];
   cout << "Hang co nhieu so 1 nhat la:\n";
   for( int i = 0;i < n;i++)
      if(b[i] == max)
         cout << i+1 << "\n";
   cout << "voi " << max << " so 1.\n";
   // Giai phong bo nho
   delete []b;
   b = NULL;
   for( int i = 0;i < n;i++)
   {   delete []arr[i];
      arr[i] = NULL;
   }
   delete []arr;
   arr = NULL;
   
   getch();
   return 0;
}


Về Đầu Trang Go down
https://svk55cc.forum-viet.com
DEV.CENTER
Thành viên tích cực
Thành viên tích cực
DEV.CENTER


Tổng số bài gửi : 118
Votes : 13
Join date : 15/09/2011
Age : 30
Đến từ : The Torchwood Universe

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyThu Sep 22, 2011 1:29 pm

Admin đã viết:
Bài 1 trong lab 2 mình dùng đệ quy, chẳng biết đúng không nữa... cười nhăn răng có gì các bác chém nhẹ tay nhá!
Code:


// Tinh ham mu voi do phuc tap thoi gian O(logn)
// Do phuc tap O(logn)
long power( int x, int n)
{   long multi = 1;
   if(x == 0)
      return 0;
   if(n == 0)
      return 1;
   else
      multi = x*power( x, n-1);
   return multi;
}
Các chú chém nhẹ tay nhá! cắn móng tay
cái này là O(logn) ư...






O(logn) của mình đây.
Code:
float Power (int x, int n){
   float kq;
   if (n==0) return 1;
   else if (n<0){
      n = 0 - n;
      kq=1/Power(x,n);
   }
   else if ((n%2) == 0){
      n/=2;
      kq=(Power(x,n));
      kq*=kq;
   }
   else if ((n%2) != 0){
      n=(n-1)/2;
      kq=(Power(x,n));
      kq*=kq*x;
   }
   
   return kq;
}
Về Đầu Trang Go down
Admin
Admin
Admin
Admin


Tổng số bài gửi : 80
Votes : 7
Join date : 14/09/2011
Age : 32
Đến từ : Hải Dương, Việt Nam

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptyFri Sep 23, 2011 4:22 pm

Hay quá... Đang phân vân cái bài này... Vote cho chú nha!
Về Đầu Trang Go down
https://svk55cc.forum-viet.com
tuanmarada
Thành viên
Thành viên
tuanmarada


Tổng số bài gửi : 1
Votes : 0
Join date : 22/09/2011

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptySun Sep 25, 2011 11:22 am

đang học
Về Đầu Trang Go down
susu9x
Thành viên
Thành viên
susu9x


Tổng số bài gửi : 28
Votes : 0
Join date : 15/09/2011

lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT EmptySun Sep 25, 2011 12:45 pm

Cả nhà xem hộ với ...kiểm tra xem sai chỗ nào không nhé cười nhăn răng cười nhăn răng cười nhăn răng
Code:
#include<iostream>
using namespace std;
int main()
{
    int n;
    cout <<"nhap n:";
    cin >>n;
    int **a = new int*[n];
    for(int i=0 ; i<n ; i++)
        a[i] = new int[n];
    for(int i=0 ; i<n ; i++)
        for(int j=0 ; j<n ; j++)
        {
            cout <<"a["<<i<<"]["<<j<<"]:";
            cin >>a[i][j];
        }
    int i=0, j=0;
    int *b = new int[n];
    while(i<n )
    {
       
        if(a[i][j] == 1  )
        {
            if(j<n-1) j++;
            else
            {
                  b[i] = j+1;
                  i++;
                  j--;
                 
            }
      }
        else
            if(j==0){
                b[i] = j ;
                i++;
                } 
            else
            {
                b[i] = j ;
                i++;
                j = 0;
            }
         
     
    }
 
    int Max = b[0];
    for(int i=0 ; i<n ; i++)
        cout <<b[i]<<endl;
    for(int i=1 ; i<n ; i++){
        if(b[i]>Max)  { Max = b[i];}
    }
    cout <<"hang can tim :\n";
  for(int i=0 ; i<n ; i++)
      if(b[i] == Max) cout <<i+1<<endl;
   
    for(int i=0 ; i<n ; i++)
        delete []a[i];
    delete []a; 
    delete []b; 
      system("pause");
      return 0;   
}
Về Đầu Trang Go down
Sponsored content





lab02 - CTDL & GT Empty
Bài gửiTiêu đề: Re: lab02 - CTDL & GT   lab02 - CTDL & GT Empty

Về Đầu Trang Go down
 
lab02 - CTDL & GT
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» lab02
» thảo luận về java lab02

Permissions in this forum:Bạn không có quyền trả lời bài viết
Forum sinh viên K55CC - UET :: Học tập :: Môn chuyên ngành IT :: Ngôn ngữ C, C++-
Chuyển đến