Solution Chapter 2
-
Upload
junior2108 -
Category
Documents
-
view
212 -
download
0
description
Transcript of Solution Chapter 2
-
Lp trnh ng dng trong k thut Chng 2
B mn C in t Trang 1
BI TP CHNG 2 : C++/CLI CN BN.
1-3. SV t kim tra.
4. Vit chng trnh c cc chc nng sau :
- Cho php ngi dng nhp vo mt chui k t.
- a ra cc la chn cho ngi s dng :
o Nhn F1 chuyn chui k t va nhp thnh ch HOA.
o Nhn F2 chuyn chui k t va nhp thnh ch thng.
o Nhn ESC thot chng trnh.
-Sau khi hin th chui mi, tip tc a ra 2 la chn.
o Nhn Backspace nhp li chui k t (lp li chng trnh).
o Nhn ESC thot chng trnh.
//Bai4.cpp
#include "stdafx.h"
using namespace System;
int main()
{
String ^A;
ConsoleKeyInfo b;
S: Console::WriteLine(L"Input String A : ");
A = Console::ReadLine();
Console::WriteLine(L"Press F1 to convert String A to uppercase.");
Console::WriteLine(L"Press F2 to convert String A to lowercase.");
Console::WriteLine(L"Press any key to exit the programe.");
b = Console::ReadKey(1);
if(b.Key == ConsoleKey::F1)
{
Console::Clear();
Console::WriteLine("String A uppercase :"+A->ToUpper());
}
else if(b.Key == ConsoleKey::F2)
{
Console::Clear();
Console::WriteLine("String A lowercase :"+A->ToLower());
}
else
{
goto E;
}
-
Lp trnh ng dng trong k thut Chng 2
B mn C in t Trang 2
Console::WriteLine(L"Press Enter to to again.");
Console::WriteLine(L"Press any key to exit the programe.");
b = Console::ReadKey(1);
if(b.Key == ConsoleKey::Enter)
{
Console::Clear();
goto S;
}
E:
return 0;
}
5. Vit chng trnh c cc chc nng sau :
- Cho php ngi dng nhp vo mt chui k t.
- o ngc th t cc phn t ca chui v in ra mn hnh.
VD : nhp vo Hello => olleH
//Bai5.cpp
#include "stdafx.h"
using namespace System;
int main(array ^args)
{
String ^A;
int n;
ConsoleKeyInfo b;
S: Console::WriteLine(L"Input String A : ");
A = Console::ReadLine();
n = A->Length;
Console::Write("String A invert : ");
for (int i = n-1;i>=0;i--)
{
Console::Write(A[i]);
}
Console::WriteLine(L"\nPress Enter to do again");
Console::WriteLine(L"Press any key to exit the programe");
b = Console::ReadKey(1);
if(b.Key == ConsoleKey::Enter)
{
Console::Clear();
goto S;
}
return 0;
}
6. Cho hm SqrPrint() c nh ngha nh sau : void SqrPrint(int h,int w)c
chc nng in ra mn hnh mt hnh vung gm cc k hiu * vi chiu cao l h v chiu
rng l w.
-
Lp trnh ng dng trong k thut Chng 2
B mn C in t Trang 3
VD : h = 2, w= 4
****
****
Hy ci t cc cu lnh cho hm ny.
//Bai6.cpp
#include "stdafx.h"
using namespace System;
void SqrPrint(int h, int w)
{
for(int i = 0; iLength;
for(int i = 0;i
-
Lp trnh ng dng trong k thut Chng 2
B mn C in t Trang 4
}
for(int j = 0;j 1 0000 0000 0000 0000 0000 0000 0001 010.1
Hy ci t cc cu lnh cho hm ny.
SV t lm.
9. Cho hm Fraction() c chc nng tnh giai tha ca mt s nguyn dng a.
Uint32 Fraction(Uint16 a)
Hy ci t cc cu lnh cho hm ny.
Xem trong ti liu l thuyt.
10. Cho hm DiagMat() c chc nng tnh tng tt c cc phn t trn ng cho chnh
ca mt ma trn vung.
Int64 DiagMat(array^ M)
Hy ci t cc cu lnh cho hm ny.
11. Cho hm MaxMat() c chc nng tm ra gi tr ca phn t ln nht ca mt ma trn
mxn.
Int64 MaxMat(array^ M)
Hy ci t cc cu lnh cho hm ny.
-
Lp trnh ng dng trong k thut Chng 2
B mn C in t Trang 5
Bi 10,11 :
#include "stdafx.h"
using namespace System;
Int64 DiagMat(array^ M)
{
Int64 m;
if (M->GetLength(0)!=M->GetLength(1)) m = 0;
else
{
for(int i = 0;iGetLength(0);i++)
{
for(int j = 0;jGetLength(1);j++)
{
if (i==j)
m += M[i,j];
}
}
}
return m;
}
Int64 MaxMat(array^ M)
{
Int64 m=0;
for(int i = 0;iGetLength(0);i++)
{
for(int j = 0;jGetLength(1);j++)
{
m=Math::Max(m,M[i,j]);
}
}
return m;
}
int main(array ^args)
{
array ^ M = {{1,2,3},{4,5,6},{7,8,9}};
Console::WriteLine(DiagMat(M));
Console::WriteLine(MaxMat(M));
Console::ReadKey();
return 0;
}
12-14 . SV t thc hin
15. Cho hm SumMat() l hm tnh tng ca hai ma trn A(n x n) v B(n x n) v tr v
dng ma trn (n x n).
array^ SumMat(array^ A,array^ B)
Hy ci t cc cu lnh cho hm ny.
-
Lp trnh ng dng trong k thut Chng 2
B mn C in t Trang 6
16. Cho hm ProdMat() l hm tnh tch ca hai ma trn A(m x n) v B(n x k) v tr v
dng ma trn (m x k).
array^ ProdMat(array^ A,array^ B)
Hy ci t cc cu lnh cho hm ny.
17. Hy xy dng hm Show() dng qu ti hm (function overloaded) c chc nng in
ra mn hnh chui k t, s nguyn hoc ma trn 2 chiu.
void Show(Int64 a)
void Show(String^ A)
void Show(array^ A)
Hy ci t cc cu lnh cho cc hm ny.
Bi 15,16,17 :
#include "stdafx.h"
using namespace System;
array^ Sum(array^ A,array^ B)
{
int n = A->GetLength(0);
int m = A->GetLength(1);
array^ C = gcnew array(n,m);
for(int i = 0;iGetLength(1);
int k = B->GetLength(1);
Int32 sum = 0;
array^ C = gcnew array(m,k);
for(int i = 0;i
-
Lp trnh ng dng trong k thut Chng 2
B mn C in t Trang 7
C[i,j]=sum;
sum = 0;
}
}
return C;
}
void Show(Int64 a)
{
Console::WriteLine(a);
}
void Show(String^ A)
{
Console::WriteLine(A);
}
void Show(array^ A)
{
for(int i = 0;iGetLength(0);i++)
{
for(int j = 0;jGetLength(1);j++)
{
Console::Write("\t"+A[i,j]);
}
Console::WriteLine();
}
}
int main(array ^args)
{
array ^ A = {{1,2,3},{4,5,6}};
array ^ B = {{1,2,3},{4,5,6}};
array ^ C = Sum(A,B);
array ^ D = {{1,2},{2,3},{4,5}};
array ^ E = Prod(C,D);
Show("Ma tran A :");
Show(A);
Show("Ma tran B :");
Show(B);
Show("Ma tran C = A+B :");
Show(C);
Show("Ma tran D :");
Show(D);
Show("Ma tran E = C*D :");
Show(E);
Console::ReadKey();
return 0;
}