Time of Update: 2018-12-03
1. 連結器 分別編譯(separate
Time of Update: 2018-12-03
最近做的東西,要將vector 中的內容輸出,結果發現有些檔案被交替反覆開啟,所以就想吧vector 中的元素排序,學習中發現下面這篇文章總結的挺好的,分享一下也~C++中當 vector 中的資料類型為基本類型時我們調用std::sort函數很容易實現 vector中資料成員的升序和降序排序,然而當vector中的資料類型為自訂結構體類型時,我們該怎樣實現升序與降序排列呢?有兩種方法,下面的例子能很好的說明:方法1:我們直接來看代碼吧,比較簡單,容易理解:#include "stdafx.h"
Time of Update: 2018-12-03
對於普通類型的對象來說,它們之間的複製是很簡單的,例如:int a=88;int b=a; 而類對象與普通對象不同,類對象內部結構一般較為複雜,存在各種成員變數。下面看一個類對象拷貝的簡單例子。 #include <iostream>using namespace std;class CExample {private: int a;public: CExample(int b) { a=b;} void Show () {
Time of Update: 2018-12-03
**************************************************************
Time of Update: 2018-12-03
**************************************************************************************原文連結:http://main.linuxfocus.org/ChineseGB/March2005/article371.shtml************************************************************************************************
Time of Update: 2018-12-03
這也是給愛問的一個朋友遍的,不知道還有沒有好的方法。 Your Ad Here#include <stdio.h>#include <math.h>#define EX 0.000001int main()...{ double x=0.0, temp=1.0, sin=0.0; int i; printf("Please input a degree:"); scanf("%lf",&x); temp=x; i=0 ; while ( fabs(temp) &
Time of Update: 2018-12-03
**********************************原文連結:http://www.cplusplus.com/doc/tutorial/**********************************動態記憶體直道現在,在我們的所有程式中,我所擁有的所有有效記憶體就是被我們聲明的變數,在來源程式中就已經確定了他們全部的大小,在程式運行之前。但是,如果我們需要一個塊能在運行期才能確定大小的一個可變總的記憶體該怎麼辦呢?例如,在我們需要一些使用者的輸入來決定所需記憶體空間的總量
Time of Update: 2018-12-03
********************************************************* 原文:http://www.cplusplus.com/doc/tutorial/ *********************************************************其他資料類型被定義的資料類型(typedef)C++允許我們基於現有的資料類型來定義我們自己的類型。我們可以通過使用關鍵字typedef來實現,它的形式為:typedef
Time of Update: 2018-12-03
剛剛看到c Traps and Pitfalls 看到了 兩個定義和聲明 覺得有必要理解下 只要大概瞭解下,只是文字遊戲而已舉個例子 大家 只要 知道 函式宣告和函數的定義有區別,其他的就一一了斷了 下面作詳細的介紹: 變數的聲明有兩種情況: (1) 一種是需要建立儲存空間的(定義、聲明)。例如:int a在聲明的時候就已經建立了儲存空間。 (2) 另一種是不需要建立儲存空間的(聲明)。例如:extern int
Time of Update: 2018-12-03
#include <iostream>#include <malloc.h>#include <stdio.h>using namespace std;struct stu{ int *a; int *b;};int main(){ //struct stu *s=new stu[10]; //struct stu s=new stu; stu s = (stu*)malloc(sizeof(stu)+2); /
Time of Update: 2018-12-03
new和delete運算子用於動態分配和撤銷記憶體的運算子new用法: 1. 開闢單變數地址空間 1)new int; //開闢一個存放數組的儲存空間,返回一個指向該儲存空間的地址.int *a = new int 即為將一個int類型的地址賦值給整型指標a. 2)int *a = new int(5) 作用同上,但是同時將整數賦值為5 2. 開闢數組空間
Time of Update: 2018-12-03
random函數不是ANSI C標準,不能在gcc,vc等編譯器下編譯通過。但在C語言中int random(num)可以這樣使用,它返回的是0至num-1的一個隨機數。 可改用C++下的rand函數來實現。rand()%n 範圍 0~n-1rand()主要是實現 產生隨機數,其他我們在這裡可以無視他顯然任意 一個數 rand()%n 範圍顯然是 0~n-1;那麼 如何產生 n~m的數呢? 一樣的 我們只要對rand()進行一些 符號操作就行了;n+rand()%(m-n+1);
Time of Update: 2018-12-03
#include <stdio.h>#include <stdlib.h>int main(){ FILE *fp; fp=fopen("E:\\Recent Files\\test.txt","r"); //若這裡是w模式,那麼 下面的代碼沒有進行寫操作,源檔案就會變成空的了 //你輸出也就沒有用了,所以這裡我們要注意 if (!fp) { printf ("can't find the files\n.");
Time of Update: 2018-12-03
給出n行m列的矩陣,“@”代表有石油,“*”代表沒有,如果含有石油的小塊相鄰,那麼屬於同一塊油田。相鄰包括水平、垂直和斜對角,求油田的數量。BFS代碼#include<stdio.h>int m, n;char grid[105][105];int x[8] = {-1, -1, -1, 0, 1, 1, 1, 0};int y[8] = {-1, 0, 1, 1, 1, 0, -1, -1};struct node{ int x, y; }Q[10005];void
Time of Update: 2018-12-03
思路是貪心,方法就是很水的方法。 做法:1.每次派一個機器人從(1,1)開始往右或往下,走到(24,24)為止。2.如果當前格子有垃圾,就清除。3.如果當前所在的格子右邊有垃圾,就往右走。否則,往下走。4.如果走到了最下邊,就一直往右走;如果走到了最右邊,就一直往下走。5.一個機器人走完,檢查還有沒有垃圾。有就再派一個,沒有就停止。Right[i][j]是(i,j)右邊的垃圾數;Down[i][j]是(i,j)下邊的垃圾數;cnt記錄總的垃圾數;res記錄機器人數。Source
Time of Update: 2018-12-03
商店有面值為25分、10分、5分、1分的硬幣,給出各硬幣的數量和要找給顧客的錢數,問怎麼使找給顧客的總的硬幣數最少。重溫DFS,先是用了最暴力的方法,枚舉所有的情況#include<stdio.h>int m[5], cnt, res[5], num[5], C, MIN;int c[] = {25, 10, 5, 1};void dfs(int d){ int i, sum, n; if(d > 3) { for(i = sum = n = 0
Time of Update: 2018-12-03
看到有老師似乎做錯了,糾正一下,C++是太煩人了。一、下面對待用資料成員的描述中,正確的是A : 待用資料成員可以在類體內進行初始化B : 待用資料成員不可以被類的對象調用C : 待用資料成員不能受private控制符的作用D : 待用資料成員可以直接用類名調用解答:---------------------------------------A : 待用資料成員可以在類體內進行初始化答:錯。我記得是:只有靜態、常量的整數(及相容)類型的資料成員,可以在類體內初始化,比如:class
Time of Update: 2018-12-03
貪心思路:cor[i]數組儲存覆蓋到該島的雷達能放置的區間,然後按照左端點從小到大對數組排序。只要雷達放置在某島的cor[i]儲存的區間內,這個島就能被這個雷達覆蓋。排序後,相鄰的兩個區間只有三種情況。1.第二個區間完全在第一個區間的後面。2.第一個區間的後邊一部分與第二個區間的前邊一部分重合。3.第二個區間包含在第一個區間內。先把第一個雷達放在第一個區間的右端點。1.如果第二個區間與第一個區間屬於相鄰區間的第一種情況,那麼第一個區間的右端點顯然不在第二個區間內,需要在第二個區間的右端點放一個新
Time of Update: 2018-12-03
3.3.Hello world 函數版 是該到動手寫寫代碼時候了,我們先寫個函數。請使用Code::Blocks的嚮導,建立一個控制台應用,命名為HelloWorldFn。開啟main.cpp檔案,如果您準備在代碼用到漢字,請記得將main.cpp的編碼設定為“系統預設”。在本小節中,我們的代碼將不斷“演變”,首先來看一眼我們比較熟悉的原始版:001 #include <iostream>003 using namespace std;005 int main()006 {007
Time of Update: 2018-12-03
zjut1185#include<iostream>#include<stack>using namespace std;int main(){ int num, temp; stack<int> s; bool neg; while(cin >> num) { neg = (num >= 0)?false:true; temp = neg?(-num):num;