天殺的 美女と野獣大好き
@skykillis
Thu, Feb 25, 2016 4:13 PM
[廢]
矩陣c++什麼的我都忘光光了ㄜㄜㄜㄜㄜ
Anfauglir roars
@Anfauglir
Thu, Feb 25, 2016 4:16 PM
delete[] skykillis; (?)
天殺的 美女と野獣大好き
@skykillis
Thu, Feb 25, 2016 4:32 PM
2. 撰寫 一程式 計算 班級最低和最高成績並將學生各自成績 由低至高排序,假設 某一班級有 s位學 生共同修 c門課。 輸入 的第一行為 s與 c,以下 s行每行代表 一位 學生的修課 成績。 每一行有 c個成績, 第 i個數字代表 該學生修第 i門課的 成績。 輸出 有 s+1 行, 第一行是所有 s×c成績 中最低與最高成績 ,下面 s行是學 生各自成績 由低至高排序。
天殺的 美女と野獣大好き
@skykillis
Thu, Feb 25, 2016 4:38 PM
這很明顯是要我弄個多維動態陣列嘛 但google後很明顯完全沒教過的東西啊
Anfauglir roars
@Anfauglir
Thu, Feb 25, 2016 4:44 PM
你需要先new一個int*[]
然後再對裡面每個entry去new一個int[]拿來存分數(
Anfauglir roars
@Anfauglir
Thu, Feb 25, 2016 4:44 PM
還是你們要用malloc(憨
天殺的 美女と野獣大好き
@skykillis
Thu, Feb 25, 2016 4:44 PM
Anfauglir roars
: 完全看不懂ㄜㄜㄜㄜㄜ
Anfauglir roars
@Anfauglir
Thu, Feb 25, 2016 4:46 PM
int*[] scores = new int*[s];
for(int i=0; i<s; i++)
scores = new int[c]
…吧
Anfauglir roars
@Anfauglir
Thu, Feb 25, 2016 4:47 PM
用完記得要一個一個delete(
天殺的 美女と野獣大好き
@skykillis
Thu, Feb 25, 2016 4:48 PM
Anfauglir roars
: 不 我看不懂的原因是完全沒學過這東西
Anfauglir roars
@Anfauglir
Thu, Feb 25, 2016 11:48 PM
那簡單科普一下(?)
跟heap動態要記憶體可以比靜態宣告(跟stack要)多,
靜態宣告:
int an_array[20]; // 要事先給好空間大小
動態宣告(C++):
int* an_array_d; //先宣告指標
an_array_d = new int[x]; // 直接跟系統要一塊,大小可以自己餵
// ....
delete[] an_array_d; // 用完要delete不然會記憶體漏水
Anfauglir roars
@Anfauglir
Thu, Feb 25, 2016 11:50 PM
動態宣告(C):
int* an_array_dc; // 一樣先宣告指標
// 直接跟系統要一塊,單位是byte數,如果用calloc()的話餵法略有不同,可以查一下
an_array_dc = malloc(sizeof(int) * x);
// ...
free(an_array_dc); // 用完要free不然會漏水
Anfauglir roars
@Anfauglir
Thu, Feb 25, 2016 11:51 PM
btw
1. 要完(new/malloc)以後要檢查是不是真的有要到,沒要到的話會return NULL
2. malloc-free (C-Style), new-delete (C++-Style)不能混用
3. 如果是動態宣告class的陣列請乖乖用new才會正確去呼叫建構子
天殺的 美女と野獣大好き
@skykillis
Fri, Feb 26, 2016 9:26 AM
ㄜㄜㄜㄜㄜㄜ....(尛
天殺的 美女と野獣大好き
@skykillis
Fri, Feb 26, 2016 10:50 AM
#include<stdio.h> (Plurk Paste)
管它就固定100個元素 要幾個再自己指定元素的值 然後二次矩陣比大小真的花了我不少時間
迷路山姆⇒TaiTails
@xamu
Sat, Feb 27, 2016 8:41 AM
Anfauglir roars
: 果然是大大不同凡響wwww
Anfauglir roars
@Anfauglir
Sat, Feb 27, 2016 3:20 PM
sam89881
: 都是資工大一的東西啊…囧
載入新的回覆
矩陣c++什麼的我都忘光光了ㄜㄜㄜㄜㄜ
然後再對裡面每個entry去new一個int[]拿來存分數(
for(int i=0; i<s; i++)
scores = new int[c]
…吧
跟heap動態要記憶體可以比靜態宣告(跟stack要)多,
靜態宣告:
int an_array[20]; // 要事先給好空間大小
動態宣告(C++):
int* an_array_d; //先宣告指標
an_array_d = new int[x]; // 直接跟系統要一塊,大小可以自己餵
// ....
delete[] an_array_d; // 用完要delete不然會記憶體漏水
int* an_array_dc; // 一樣先宣告指標
// 直接跟系統要一塊,單位是byte數,如果用calloc()的話餵法略有不同,可以查一下
an_array_dc = malloc(sizeof(int) * x);
// ...
free(an_array_dc); // 用完要free不然會漏水
1. 要完(new/malloc)以後要檢查是不是真的有要到,沒要到的話會return NULL
2. malloc-free (C-Style), new-delete (C++-Style)不能混用
3. 如果是動態宣告class的陣列請乖乖用new才會正確去呼叫建構子
管它就固定100個元素 要幾個再自己指定元素的值 然後二次矩陣比大小真的花了我不少時間