先看效果圖,代碼在下面複製代碼 代碼如下:// FileName: GetQQ.h#pragma once#include <vector>class GetQQ{private: std::vector<CString> m_qqNum;public: GetQQ(); ~GetQQ();public: //
直接看代碼吧,代碼裡有注釋複製代碼 代碼如下:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <pthread.h>#include <time.h>#define MAX 3int number =0;pthread_t id[2];pthread_mutex_t mut; //初始化靜態互斥鎖void
一. 不指定範圍產生隨機數用到函數rand(),函數原型為int rand(),無參數。此時會產生一個介於0~RAND_MAX間的整數。RAND_MAX的大小可以查看,在include檔案夾(linux在usr目錄、windows在安裝目錄)的stdlib.h可以看到,linux下其值為2147483647(),其值與具體系統有關。參考代碼:複製代碼 代碼如下:#include<stdio.h>#include<stdlib.h>int
《Programming Pearls》(編程珠璣下載)第一章講述了如何用位元影像排序無重複的資料集,整個思想很簡潔,今天實踐了下。 一、主要思想位元影像排序的思想就是在記憶體中申請一塊連續的空間作為位元影像,初始時將位元影像的每一位都置為0,然後依次讀取待排序檔案的整數,將整數所在的位設定為1,最後掃描位元影像,如果某一位為1,則說明這個數存在,輸出到已排序檔案。比如待排序的資料S={3,0,4,1,7,2,5},max(S)=7,我們可以設定一個八位的位元影像B,將位元影像的每一位初始為0,
以下為演算法詳細流程及其實現。由於演算法都用虛擬碼給出,就免了一些文字描述。複製代碼 代碼如下:/*******************************************=================JJ日記=====================作者: JJDiaries(阿獃) 郵箱:JJDiaries@gmail.com日期:
複製代碼 代碼如下:/******************分子沉積模擬器****************//* 主要功能:類比單片分子沉積 *//*-------------------By
複製代碼 代碼如下:#include<stdio.h>#include<math.h>int change(int n,int *sum,int *m)//n為第n位,m總位元{ char c; if(c!='#') {
1、開發C程式的必要工具和設定A,Solaris下的開發工具在solaris下開發C應用程式,預設開發環境是Sun Studio。目前Sun Studio 11是Sun公司最新的C/C++/Fortran開發工具,這個工具已經安裝在Unix體驗中心的伺服器上,我們可以直接使用。在Sun Studio
Liunx中通過進程名尋找進程PID可以通過 pidof [進程名] 來尋找。反過來 ,相同通過PID尋找進程名則沒有相關命令。在linux根目錄中,有一個/proc的VFS(虛擬檔案系統),系統當前啟動並執行所有進程都對應於該目錄下的一個以進程PID命名的檔案夾,其中存放進程啟動並執行N多資訊。其中有一個status檔案,cat顯示該檔案,
問題說明這個問題是以弗拉維奧·約瑟夫斯命名的,它是1世紀的一名猶太曆史學家。他在自己的日記中寫道,他和他的40個戰友被羅馬軍隊包圍在洞中。他們討論是自殺還是被俘,最終決定自殺,並以抽籤的方式決定誰殺掉誰。約瑟夫斯和另外一個人是最後兩個留下的人。約瑟夫斯說服了那個人,他們將向羅馬軍隊投降,不再自殺。約瑟夫斯把他的存活歸因於運氣或天意,他不知道是哪一個機智的約瑟夫! 有N個編號為1~N的人圍成一圈,現在每隔兩個人(比如:1、4 之間隔了2、3)就將一個人淘汰出去,
複製代碼 代碼如下:#include<iostream>using namespace std;//字串拷貝函數char * sCpy(char *strDest, char *strSource){ _ASSERT((strDest != NULL) && (strSource!=NULL)); char *d =
複製代碼 代碼如下:char finalPathSet[256][256]; char middlePathSet[256][256]; int finalSetSize=0; int middleSetSize=0;int addToPathSet(char path[]){ strcpy(middlePathSet[middleSetSize],path); middleSetSize++;
調用函數時,電腦常用棧來儲存傳遞給函數的參數。棧是一種先進後出的資料結構,棧有一個儲存區、一個棧頂指標。棧頂指標指向堆棧中第一個可用的資料項目(被稱為棧頂)。使用者可以在棧頂上方向棧中加入資料,這個操作被稱為壓棧(Push),壓棧以後,棧頂自動變成新加入資料項目的位置,棧頂指標也隨之修改。使用者也可以從堆棧中取走棧頂,稱為彈出棧(pop),彈出棧後,棧頂下的一個元素變成棧頂,棧頂指標隨之修改。函數調用時,調用者依次把參數壓棧,然後調用函數,函數被調用以後,在堆棧中取得資料,並進行計算。Funct
複製代碼 代碼如下:#include <stdio.h>#include <stdlib.h>#include <malloc.h>#define LEN sizeof(struct Student)struct Student{ long num; float score; struct Student*next;};int n;int main(){
=====第2題:奇偶排序(一)=====總時間限制:1000ms記憶體限制:65536kB描述輸入十個整數,將十個整數按升序排列輸出,並且奇數在前,偶數在後。輸入輸入十個整數輸出按照奇偶排序好的十個整數複製代碼 代碼如下:#include<stdio.h>#define COUNT 10#define bool int#define true 1#define false 0/*****負責冒泡排序***/int* sortFunction(int
在貪婪演算法這一章提到了最小產生樹的一些演算法,首先是Kruskal演算法,實現如下:MST.h複製代碼 代碼如下:#ifndef H_MST#define H_MST#define NODE node *#define G graph *#define MST edge **/* the undirect graph start */typedef struct _node { char data; int flag; struct _node *parent;}
因為看核心的時候感覺紅/黑樹狀結構挺有意思的,所以利用周末的時間來實現一下玩玩。紅/黑樹狀結構的操作主要是插入和刪除,而刪除的時候需要考慮的情況更多一些。具體的操作就不在這裡羅嗦了,百度文庫裡面有一個比較有好的文章,已經說的很明白了。在看具體的操作的時候有的人可能感覺有些情況是沒有考慮到的(如果沒有這種感覺的人很有可能根本沒有仔細地想)。但是那些“遺漏”的情況如果存在的話,操作之前的紅/黑樹狀結構將違反那幾個規則。寫代碼的時候很多次因為少考慮情況而導致錯誤,細節比較多,剛開始rb_node中沒有
病毒的特點:病毒的最大特點就是自我複製,從病毒的分類來說有很多種,這裡我們將介紹最流行的附加式病毒,它通過對正常的檔案進行改寫,增加來實現其自我複製的目的。從程式的角度來說,我們要做的事情有兩件:1,讓程式能夠將自己在不影響其它程式本身工作的情況下複製給其它程式,使它具備繼續複製的能力。2,在一定條件下使其產生某種發作效果。其實第一件事情實際上可以看成對檔案進行複製,把病毒源檔案的功能函數全部放到被感染檔案的最後,同時在被感染檔案中調用這個函數下面給出c語言的實現過程:1,主程式調用病毒功能函數
執行個體:(1)第一種方法CreateFile複製代碼 代碼如下:#include "stdafx.h"#include <windows.h>void main(int argc, char* argv[]){ HANDLE hDevice = CreateFile("C://S.txt",
一 數組名是什麼數組就是一段連續可用的記憶體。比如聲明一個 int數組int array[]={1,2,3};array代表什嗎?有的資料說:數組名是指向數組首地址的常量指標。 下面我們可以驗證一下。我都知道sizeof操作符可以返回一個對象或者類型所佔的記憶體位元組數。如:int i=1;那麼sizeof(i)