Bài đăng

Hiển thị các bài đăng có nhãn Lập trình

Quicksort trên Danh sách liên kết đơn

void quick_sort(LIST &&l) { LIST l1;LIST l2; if(l.pHead==NULL) // rong return; else { khoitao(l1); khoitao(l2); NODE *x=l.pHead; l.pHead=x->pNext; while(l.pHead!=NULL) { NODE *p=l.pHead; l.pHead=p->pNext; p->pNext=NULL; if(p->data<=x->data) themdau2(l1,p); else themdau2(l2,p); } quick_sort(l1); quick_sort(l2); if(l1.pHead==NULL) l.pHead=x; else { l.pHead = l1.pHead; l1.pTail->pNext = x; } x->pNext = l2.pHead; if(l2.pHead==NULL) l.pTail = x; else { l.pTail = l2.pTail; } } }

Visual Studio 2010 SP1 tăng cường hỗ trợ các nhà phát triển

Hình ảnh
Microsoft ra mắt trình trợ giúp tại chỗ (local help viewer) cho Visual Studio 2010, tích hợp Project Server với Team Foundation Server giúp các nhóm phát triển làm việc hiệu quả hơn.

Phim + Source hướng dẫn làm website tin tức bằng JOOMLA 1.5

Hình ảnh
Bài lab sau hướng dẫn bạn thiết kế 1 website tin tức bằng JOOMLA 1.5 (Version mới nhất tính đến tháng 9-2009, version 1.5.14) Tôi làm bài sau với mục đích: Hướng dẫn 1 cách tổng quan về thiết kế web bằng Joomla, phù hợp cho các bạn chưa biết gì về web hoặc Joomla Ôn lại cách quản lý 1 website Joomla (cho các bạn đã biết Joomla là gì) Mức độ: Cơ bản Bài lab được chia thành 16 bước, hoàn tất 16 bước theo lab, bạn sẽ được 1 website như sau:

How postback works in ASP.NET

Hình ảnh
Dưới đây là bài viết tiếng Anh giải thích postback làm việc như thế nào? Chúng ta nếu đã từng học sơ qua lập trình web động ( như PHP chẳng hạn), chúng ta đã biết sơ qua phương thức Post và Get. Theo mình nghĩ Postback thực ra cũng là hình thức gởi dữ liệu cũ nhưng đã được đơn giản hóa bằng cách viết lệnh đơn giản: Sử dụng Code behind trong ASP.NET Tự phát sinh ra các hàm kiểm tra thông qua ASP.NET Engine ( như lời gọi hàm Postback, tự phát sinh sự kiện, tham số, viewstate kèm ID). Đây là bài viết chi tiết:

Tạo menu đơn giản

Bắt đầu là 1 project rỗng, bạn sẽ tạo từ đầu. Video tutorial này mình tìm được trên mạng, cũng khá hay. Part 1: Part 2:

Trọn Bộ 19 Đĩa CD aptech

Hình ảnh
http://www.mediafire.com/?sharekey=3...c91da740cce240 Down thêm các phần còn thiếu tại đây password: bachkhoaaptech.com

Learn Visual C#: Video Tutorials

Hình ảnh
Homepage: http://msdn2.microsoft.com/en-us/vcsharp/default.aspx Chào các bạn. Mình thấy các video hướng dẫn này rất hay, chất lượng tốt nên viết bài giới thiệu cho các bạn nào chưa biết. Có thể là lúc học ngôn ngữ lập trình nào đó, chúng ta hơi ngại khi vào chính trang support của nó, trong khi những trang này hỗ trợ rất nhiều từ ví dụ đến các hướng dẫn. Các bạn cứ đi tìm hỏi tài liệu ở đâu ?? chia sẻ cho mình ,… Vì thế nên bạn nào chưa có cách học lập trình tốt thì nên thay đổi. Thay đổi đầu tiên bằng cách vào trang MSDN của Microsoft và xem các hướng dẫn, các hỗ trợ của Microsoft về các ngôn ngữ lập trình C, C++, Visual C++, Visual C#, Visual Basic, … Đây là trang chủ MSDN: http://msdn2.microsoft.com/en-us/default.aspx

Bài quả banh di chuyển

Version 1: 1 quả banh di chuyển. Chú ý : Hàm GetClientRect The GetClientRect function retrieves the coordinates of a window's client area. The client coordinates specify the upper-left and lower-right corners of the client area. Because client coordinates are relative to the upper-left corner of a window's client area, the coordinates of the upper-left corner are (0,0).

Tổng hợp một số bài viết về chứng minh đường thẳng (1)

Line Algorithm Lecture 3 - Line_Algorithms

Định Dạng Trong C#

Hình ảnh
Một trong những điều vất vả nhất của các ngôn ngữ lập trình cấp thấp đó chính là định dạng kiểu chuỗi. Nhưng trong C#, mọi chuyện sẽ thật đơn giản!

WPF thư viện giao diện kế tiếp Windows Form

Hình ảnh
WPF (Windowns Presentation Foundation) là thư viện lập trình giao diện đồ họa có trong Microsoft .NET Framework từ phiên bản 3.0. Được xây dựng trên nền Direct3D, WPF phát huy tối đa sức mạnh xử lý của card đồ họa, hỗ trợ các cải tiến về giao diện trong Windows Vista, Windows 7 và độc lập với mọi độ phân giải của màn hình.

9 Practical Ways to Enhance your Web Development Using the Firefox Web Developer Extension

Hình ảnh
Whether you’re a front-end graphics designer or a back-end web programmer, if you’ve worked long enough in the field of creating web-based solutions, you’ve no doubt heard about an extension for the Mozilla Firefox web browser called (simply enough) the Web Developer extension . If you have no clue what I’m talking about, here’s a brief overview from Webs Tips to get you familiarized with this wonderful tool. This article lists some practical, everyday uses of the Web Developer extension to help improve your web-building methods. I’ve tried to stay away from the more common and basic uses of the Web Developer extension like troubleshooting layout issues with the Information > Display Div Order option because I feel these have been discussed quite enough in other places. New users, don’t run away quite yet, I think this guide will help you get a rapid jump start into applying this tool into your daily development routine. So without further ado, here’s nine highly pragmatic uses...

Giới thiệu về lập trình hướng đối tượng

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (OOP) LÀ GÌ ? Lập trình hướng đối tượng (Object-Oriented Programming, viết tắt là OOP) là một phương pháp mới trên bước đường tiến hóa của việc lập trình máy tính, nhằm làm cho chương trình trở nên linh hoạt, tin cậy và dễ phát triển. Tuy nhiên để hiểu được OOP là gì, chúng ta hãy bắt đầu từ lịch sử của quá trình lập trình – xem xét OOP đã tiến hóa như thế nào. Lập trình tuyến tính Máy tính đầu tiên được lập trình bằng mã nhị phân, sử dụng các công tắt cơ khí để nạp chương trình. Cùng với sự xuất hiện của các thiết bị lưu trữ lớn và bộ nhớ máy tính có dung lượng lớn nên các ngôn ngữ lập trình cấp cao đầu tiên được đưa vào sử dụng . Thay vì phải suy nghĩ trên một dãy các bit và byte, lập trình viên có thể viết một loạt lệnh gần với tiếng Anh và sau đó chương trình dịch thành ngôn ngữ máy. Các ngôn ngữ lập trình cấp cao đầu tiên được thiết kế để lập các chương trình làm các công việc tương đối đơn giản như tính toán. Các chương trình ban đầu chủ...

Nested Functions

Bài viết trích từ   openandfree . Bài gốc tiếng Anh tại trang gotw Bài viết này không trình bày chi tiết về nested class trong C++ mà chỉ tập trung vào các kĩ thuật sử dụng nested class và function object để mô phỏng các nested function, một yếu tố không có trong C++. Các chi tiết về nested class có thể tìm thấy trong nhiều cuốn sách C++ khác, ví dụ cuốn Thinking in C++, tập 1. Bài viết đưa ra ba câu hỏi và sau đó lần lượt đi tìm các câu trả lời cho chúng. Ba câu hỏi là: 1- Nested class là gì? Tại sao chúng ta cần các nested class? 2- Local class là gì? Tại sao chúng ta cần các local class? 3- Trong C++ không có khái niệm nested function. Bởi vậy, chúng ta không thể viết một đoạn mã như sau int f( int i ) { int j = i*2; int g( int k ) { return j+k; } j += 4; return g( 3 ); } Hãy đưa ra một giải pháp mô phỏng các hàm f và g sao cho đạt được một “hiệu ứng” tương tự như đoạn mã trên. Type rest of the post hereHãy đưa ra một giải pháp mô phỏng các hàm f và g sao cho đạt được một “hiệu ứng”...

Polyphase Merge(2)

Đây là bài cài đặt của bạn Vũ Âu, mà cũng thật có duyên, mình vô tình vô nhầm 3 cái blog khác nhau của bạn ấy. Bài này dựa sát theo bài cài đặt của thầy Long, mời các bạn xem qua.   //200090513_polymerge.cpp //ES #include <iostream.h> #include <stdio.h> #include <string.h> #include <time.h> #include <iomanip.h> #include <string.h> #include <stdlib.h> #define n 100 typedef int elem; typedef struct { FILE *f; elem buffer; }tape; int size=sizeof(elem); int ss(int x, int y) { return x-y; } //mo tape void opentape(tape &X, char *filename) { X.f=fopen(filename, "rb"); fread(&X.buffer,size, 1,X.f); } //doc tape void readtape(tape &X, elem &x) { memcpy(&x,&X.buffer,size); fread(&X.buffer,size,1,X.f); } //Chep 1 phan tu void copyitemp(tape &X, tape &Y, int &EOR, elem &x, int (*comp)(elem, elem)) { readtape(X,x); fwrite(&x,size,1,Y.f); EOR=feof(X.f)||comp(x,X.buffer)>0; } //C...

Cách tính thời gian chạy thuật toán

Đây là hướng dẫn trong congdongcviet.com . Bạn có thể dùng hàm clock() trong thư viện <ctime> như sau: #include <ctime.h> ... int main() { unsigned int start_time = clock(); // your complex algorithm here ... unsigned int run_time= (clock() - start); // in ms } ... Chúc bạn vui. Thân.

Hướng dẫn cài đặt chương trình Borland C++3.1

Hình ảnh
Đầu tiên hãy tải chương trình Borland C 3.1 đầy đủ tại các liên kết sau đây: Bản cài đặt BC++3.1 Link mediafire   Sau khi tải về giải nén ra một thư mục nào đó trên một ổ đĩa nào đó. Ví dụ BC31 trên ổ đĩa D: Mở thư mục vừa giải nén chứa bộ cài chương trình Borland C++ 3.1 nó sẽ có hình như sau: (Chú ý các vị trí khoanh vùng màu đỏ). 

Bắt đầu "học lập trình" với Small Basic

Hình ảnh
Sau tròn một năm bắt tay vào dự án với không một chút phô trương ầm ỹ, ngày hôm nay gã khổng lồ Microsoft đã giới thiệu phần mềm ứng dụng mang tên Small Basic - trình ngôn ngữ lập trình hoàn toàn miễn phí dành cho những người mới bắt đầu, đặc biệt trẻ nhỏ. Không giống như Scratch hay Alice , những công cụ được thiết kế mục đích hướng người dùng học ngôn ngữ trong môi trường 'codeless' thì với Small Basic, phiên bản siêu nhỏ này tập trung chủ yếu vào "BASIC Language". Small Basic hoạt động dựa trên .Net Framework, do đó nếu hệ thống của bạn chưa được cài đặt .Net Framework thì một điều tất nhiên bạn sẽ không có cơ hội khám phá trình hữu ích này. Small Basic gồm 3 đặc điểm chính sau đây: Như nói trên, cảm hứng xuất phát từ ngôn ngữ lập trình BASIC căn bản, hoạt động dựa trên nền tảng .Net Framework. Theo đúng tên gọi của nó, Small Basic thực sự "bé hạt tiêu" khi chỉ trang bị không quá 15 keyword, đồng thời sử dụng những khái niệm tối thiểu nhất nhằm giảm bớt ...

Một cách nhân độc đáo (Phần 2)

Đây là đoạn code do Nhung viết lên, mọi người xem thử nhé. #include<iostream.h> #include<stdio.h> #include<stdlib.h> #include<string.h> #define max 100 /****/ void xuatfile(char *fn); void docfile(char *fn,int *&a,int *&b,int &n,int &m); void nhan(char *fn,int *&a,int *&b,int **&mt,int n,int m); void ghifile(char *fn,int *&a,int n); /****/ void main() { char *fn="bignum_in.txt"; char *fm="bignum_out.txt"; int *a=new int[max],*b=new int[max];// ab co toi da 100 chu so int n=0,m=0;//la so chu so cua a,b doc tu file,khoi tao =0 docfile(fn,a,b,n,m); //tao ma ram luu ket qua nhan tung chu so cua voi b int **mt; mt=new int *[n]; for(int i=0;i<n;i++) mt[i]=new int [m]; nhan(fm,a,b,mt,n,m); //thu hoi mang dong delete a; delete b; for(i=0;i<m;i++) delete []mt[i]; delete[]mt; //xuat ket qua xuatfile(fm); } /****/ void xuatfile(char *fn) { FILE *f; ...

Một số bài tập Pascal khó

Bài 1 : Liệt kê tất cả cách xếp n con hậu trên bàn cờ N*N mà chúng không ăn nhau. Bài 2 : Hãy viết chương trình liệt kê tất cả các dãy nhị phân có độ dài n. Bài 3 : Hãy viết chương trình liệt kê các hoán vị của {1,2,...,n} Bài 4 : Hãy viết chương trình liệt kê các tổ hợp chập m của {1,2,...,n} Bài 5 : Có 9 căn phòng (đánh số từ 1 đến 9) được quét vôi với màu trắng, xanh hoặc vàng. Có 9 robot (đánh số từ 1 đến 9) phụ trách việc quét vôi các phòng. Mỗi robot chỉ quét vôi một số phòng nhất định. Việc quét vôi các phòng được thực hiện nhờ 1 chương trình cài sẵn theo quy tắc: + Nếu phòng đang có màu trằng thì quét màu xanh. + Nếu phòng đang có màu xanh thì quét màu vàng. + Nếu phòng đang có màu vàng thì quét màu trắng. Cần phải gọi lần lượt một số robot ra quét vôi để tất cả các phòng có cùng màu trắng (mỗi lần gọi 1 robot, 1 robot có thể gọi nhiều lần và có thể có robot không được gọi, robot được gọi sẽ quét vôi tất cả các phòng nó phụ trách. Hãy tìm phương án như vậy sao cho số lượt ph...