Professional Documents
Culture Documents
8 จงหาผลการทำางานของโปรแกรมต่อไปนี้
8.1 (5 คะแนน)
#include <iostream.h>
main() {
int a[3][4] = {{ 1,2,3,4}, {5,6,7,8},{9,10,11,12}};
int k = 1, m = 2;
a[0][0] = 0;
a[k][m] = 0;
a[k+1][m+1] = a[k-1][m-1];
for(int i = 0; i < 3; i++) {
for (int j =0; j < 4; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
}
8.2 (5 คะแนน)
#include <iostream.h>
main() {
int a[5] = { 9,8,7,6,5 };
p_a(a);
s(a,2);
p_a(a);
s(a,1);
p_a(a);
}
หน้า 11/12
ชื่อ-นามสกุล รหัสนักศึกษา Section
main() {
int a[100], b[100], c[100];
int size_a, size_b, size_c;
Input_BigInt(a, size_a); // read 100-digit integer to A
Input_BigInt(b, size_b); // read 100-digit integer to B
Add_BigInt(a, size_a, b, size_b, c, size_c);
}
หมายเหตุ: สมมติให้ Input_BigInt อ่านค่ามาเก็บลงใน array a และ b ให้อัตโนมัติ ขนาดของ a และ b ไม่จำาเป็น
ต้องมีขนาดเท่ากัน และขนาดจะไม่เกิน 99 หลัก ตัวอย่างการบวกค่า 5 + 7 เท่ากับ 2 ทดไปหลักต่อไป 1
(10 คะแนน)
หน้า 12/12
ชื่อ-นามสกุล รหัสนักศึกษา Section
5 จงหาผลรันของโปรแกรมต่อไปนี้
5.1 (2 คะแนน)
#include <iostream>
using namespace std;
const int ASIZE = 8;
int main ()
{
int ar[ASIZE] = {0};
for (int i = 1; i < ASIZE; i = i + 2)
ar[i] = i * ASIZE;
for (int i = ASIZE - 1; i >= 0 ; --i)
cout << ar[i] << " " ;
cout << endl;
return 0;
}
5.2 (2 คะแนน)
#include <iostream>
using namespace std;
const int ASIZE = 4;
int main ()
{
int ar1[ASIZE] = {2, 3, 4, 5};
int ar2[ASIZE] = {4, 3, 2, 1};
int res = 0;
for (int i = 0; i < ASIZE; i++)
res += ar1[i] * ar2[ASIZE - i – 1];
cout << "Answer = " << res << endl ;
return 0;
}
หน้า 8/12
ชื่อ-นามสกุล รหัสนักศึกษา Section
5.3 (4 คะแนน)
#include <iostream>
using namespace std;
const int ASIZE = 4;
int main ()
{
int ar1[ASIZE] = {2, 3, 4};
int ar2[ASIZE] = { 2, -1, 0};
int ar3[ASIZE][ASIZE];
for (int i = 0; i < ASIZE; i++)
for (int j = 0; j < ASIZE; j++)
ar3[i][j] = ar1[i] * ar2[j];
for (int i = 0; i < ASIZE; i++)
{
for (int j = 0; j < ASIZE; j++)
cout << ar3[i][j] << '\t';
cout << endl;
}
return 0;
}
หน้า 9/12
ชื่อ-นามสกุล รหัสนักศึกษา Section
ตัวอย่างการทำางานเมื่อกรอก 1 2 3 4 5 6 7 8 9 0 1 2 3
Enter 13 integers: 1 2 3 4 5 6 7 8 9 0 1 2 3
Not symmetry.
ตัวอย่างการทำางานเมื่อกรอก 1 2 3 4 5 6 7 6 5 4 3 2 1
Enter 13 integers: 1 2 3 4 5 6 7 6 5 4 3 2 1
Symmetry.
(12 คะแนน)
หน้า 10/12
ชื่อ-นามสกุล รหัสนักศึกษา Section
7.2 (5 คะแนน)
#include <iostream>
using namespace std;
int main()
{
const int n=3;
int a[n][n], b[n] = {0}, c[n] = {0};
int i, j;
หน้า 10/11
ชื่อ-นามสกุล รหัสนักศึกษา Section
หน้า 11/11
ชื่อ-นามสกุล รหัสนักศึกษา Section
3.2 (4 คะแนน)
#include <iostream.h>
void F1(float [], float&);
int main()
{
float a[] = {1.1, 2.0, 3.3, 4.4};
float b;
F1(a, b);
for (int i = 0; i < 4 ; i++)
cout << a[i] << '\t';
cout << '\n';
return 0;
}
หน้า 5/11
ชื่อ-นามสกุล รหัสนักศึกษา Section
7 จงหาผลรันของโปรแกรมต่อไปนี้
7.1 (5 คะแนน)
#include <iostream>
using namespace std;
void swap(int& x, int& y)
{
int temp = x;
x = y;
y = temp;
}
int main()
{ const int n=3;
int a[n] = {2, 5, 6};
int b[n] = {1, 3, 4};
int i, j;
หน้า 9/11
ชื่อ-นามสกุล รหัสนักศึกษา Section
1. จงหาผลรันของโปรแกรมต่อไปนี้
1.1 (4 คะแนน)
#include <iostream.h>
#include <iomanip.h>
main() {
const int I = 2;
const int K = 3;
const int J = 2;
int A[I][K] = {{1, 2, 3},{1, 2, 3}};
int B[K][J] = {{1,2},{1,2},{1,2}};
int C[I][J];
for(int i=0; i<I; i++)
for(int j=0; j<J; j++) {
C[i][j] = 0;
for(int k=0; k<K; k++)
C[i][j] += A[i][k]*B[k][j];
}
cout << "[C] = " << endl;
for(int i=0; i < I; i++) {
for(int j=0; j<J; j++) {
cout << setw(4) << C[i][j] ;
}
cout << endl;
}
}
หน้า 2/14
ชื่อ-นามสกุล รหัสนักศึกษา Section
1.2 (4 คะแนน )
#include <iostream.h>
#include <iomanip.h>
const int NUM_STUDENTS = 3;
const int NUM_QUIZZES = 3;
typedef int Score[NUM_STUDENTS][NUM_QUIZZES];
void read(Score);
void printQuizAverages(Score);
int main() {
Score score = {{7, 8, 9}, {3, 4, 6}, {2}};
cout << "The quiz averages are:\n";
printQuizAverages(score);
return 0;
}
หน้า 3/14
ชื่อ-นามสกุล รหัสนักศึกษา Section
หน้า 4/14
ชื่อ สกุล รหัส Section
3. จงหำผลรันของโปรแกรมต่อไปนี้ (8 คะแนน)
#include <iostream>
using namespace std;
int main()
{
const int b_size = 15;
// array of non-zero positive integer
int a[] = { 2, 1, 2, 2, 7, 3, 5, 6, 7, 7, 8 };
int b[b_size] = {0};
int n = sizeof(a)/sizeof(int);
for (int i = 0; i < n ; i++)
for (int j = i+1; j < n; j++)
if ( a[j] == a[i] ) a[j] = -1;
for (int k = 0, i = 0; k < n; k++)
if (a[k] > 0) b[i++] = a[k];
for (int p = 0; p < n; p++)
cout << b[p] << " ";
cout << endl;
return 0;
}
4/10
ชื่อ สกุล รหัส Section
2 44 66
50 50 45
และอะเรย์ b มีค่ำสมำชิกดังนี้
33 44 55
50 50 50
-1 0 1
0 0 -1
5/10
ชื่อ สกุล รหัส Section
8. จงหำผลรันของโปรแกรมต่อไปนี้ (8 คะแนน)
#include <iostream>
using namespace std;
int index(int, int [], int, int);
int main( )
{
int a[] = {22,33,44,66,77,88,22,44,66};
cout << "index 1 = " << index(44,a,0,5) << endl;
cout << "index 2 = " << index(44,a,2,5) << endl;
cout << "index 3 = " << index(44,a,6,8) << endl;
cout << "index 4 = " << index(55,a,6,8) << endl;
return 0;
}
9/10
ชื่อ สกุล รหัส Section
10/10
ชื่อ สกุล รหัส Section
5. จงหำผลรันของโปรแกรมต่อไปนี้ (8 คะแนน)
#include <iostream>
using namespace std;
int main() {
int a[] = {24, 45, 93, 11, 87, 44, 22, 50, 76};
int size = sizeof(a) / sizeof(int);
for(int i = 0; i < size; i++)
cout << a[i] << " ";
cout << endl;
for(int i = 1; i < size; i++)
for(int j = 0; j < size - i; j++)
if (a[j] < a[j + 1]) {
int temp;
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
for(int i = 0; i < size; i++)
cout << a[i] << " ";
cout << endl;
cout << "Maximum = " << a[size - 1] << endl;
cout << "Median = " << a[size / 2] << endl;
cout << "Minimum = " << a[0] << endl;
return 0;
}
4/11
ชื่อ สกุล รหัส Section
[ ]
1 2 3
ตัวอย่ำงผลรัน เมื่อกรอกค่ำเมทริกซ์ A เป็น 4 5 6
7 8 9
Matrix B =
0 -2 -4
2 0 -2
4 2 0
(12 คะแนน)
5/11
ชื่อ สกุล รหัส Section
6. จงหำผลรันของโปรแกรมต่อไปนี้
#include <iostream>
using namespace std;
int main() {
int A[][4] = {{3, 3, 5, 7}, {1, 2, 3, 4}, {5, 4, 3, 2}};
for(int i = 0; i < 3; i++) {
int bb = 0;
for(int j = 0; j < 4; j++)
bb += A[i][j];
cout << bb << endl;
}
for(int i = 0; i < 4; i++) {
int cc = 0;
for(int j = 0; j < 3; j++)
cc += A[j][i];
cout << cc << endl;
}
return 0;
}
(3 คะแนน)
8/11
ชื่อ สกุล รหัส Section
∑ ai
μ= i=0
N
• หำค่ำเบี่ยงเบนมำตรฐำนจำกสูตร
√
N −1
∑ ( a i−μ)
i=0
σ=
N
ตัวอย่ำงผลรัน
Please enter scores for 15 students:
3 10 4 2 3 6 9 3 10 10 3 7 0 6 1
Mean = 5.13333
SD = 3.30387
(12 คะแนน)
9/11
ชื่อ สกุล รหัส Section
7/11
ชื่อ สกุล รหัส Section
8/11
ชื่อ สกุล______________________________________ รหัส____________________ Section______ เลขที่นั่งสอบ______
3. จงเขียนโปรแกรมรับคาขอมูลเมทริกซจํานวนเต็มสองเมทริกซ ขนาด 3x3 และ 3x3 คํานวณหาผลคูณ แลวแสดงคาทีค่ ํานวณได
ทางจอภาพ โดยใช for loop ใหแสดงผลเหมือนกับตัวอยางผลการทํางาน (12 คะแนน)
2
โดยที่สมาชิกแตละตัวของเมทริกซผลคูณคือ ci, j = ∑ ai,k ⋅ bk, j
k=0
ตัวอยางผลรัน (ตัวหนาคือขอมูลที่ปอน)
Input matrix A:
Row 0: 1 2 3
Row 1: 4 5 6
Row 2: 7 8 9
Input matrix B:
Row 0: 1 0 2
Row 1: 0 1 2
Row 2: 3 2 1
1 2 3 1 0 2 10 8 9
4 5 6 x 0 1 2 = 22 17 24
7 8 9 3 2 1 34 26 39
#include <iostream>
using namespace std;
main() {
int a[5] = {1,2,3,4,5};
int b[5];
printA(a);
for(int i=0;i<4;i++) {
a[i] = a[i+1];
}
printA(a);
a[0]=1; a[1]=2;a[2]=0;a[3]=0;a[4]=0;
printA(a);
for(int i=0;i<5;i++) {
b[i] = a[4-i];
}
printA(b);
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
ตัวอย่างผลรัน
0 1 2 3 0 0 0 0
0 0 1 2 1 0 0 0
เมื่อกรอกค่าเมทริกซ์ A เป็น จะได้ AT มีค่าเป็น
0 0 0 1 2 1 0 0
0 0 0 0 3 2 1 0
Matrix B =
0 1 2 3
1 0 1 2
2 1 0 1
3 2 1 0
หน้าที่ 11/14
ชื่อ สกุล________________________________________ รหัส_________________ Section_______ เลขที่นั่งสอบ_______
7. จงหาผลการทางานของโปรแกรมต่อไปนี้
#include <iostream>
using namespace std;
int main()
{
int myArray[4][4], index1, index2;
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
#include <iostream>
using namespace std;
หน้าที่ 13/14
ชื่อ สกุล________________________________________ รหัส_________________ Section_______ เลขที่นั่งสอบ_______
int main() {
int x[3][5] = { {13,4,35,22,3},
{30,3,7,9,2},
{3,4,4,9,2}};
cout << A(x, 3, 5) << endl;
cout << B(x, 3, 5) << endl;
cout << C(x,9,3,5) << endl;
cout << C(x,12,3,5) << endl;
return 0;
}
(5 คะแนน)
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
______________________________________________________________________________________________
หน้าที่ 14/14
ชื่อ สกุล________________________________________ รหัส_________________ Section_______ เลขที่นั่งสอบ_______
หน้าที่ 6 / 10
ชื่อ สกุล________________________________________ รหัส_________________ Section_______ เลขที่นั่งสอบ_______
6. จงหาผลการทํางานของโปรแกรม (8 คะแนน)
#include <iostream>
using namespace std;
main() {
int a[2][5] = {{1,2,3,4,5}, {0,0,0,0,0}};
int b[5];
b[0] = 1;
b[1] = b[0] + 1;
b[2] = a[0][3];
b[3] = b[0] + b[1];
b[4] = b[b[0] + 1];
for(int i=0;i<5;i++)
cout << b[i] << “ “;
cout << endl;
______________________________________________________________________________________________________
______________________________________________________________________________________________________
______________________________________________________________________________________________________
______________________________________________________________________________________________________
______________________________________________________________________________________________________
______________________________________________________________________________________________________
______________________________________________________________________________________________________
______________________________________________________________________________________________________
หน้าที่ 7 / 10
ชื่อ สกุล________________________________________ รหัส_________________ Section_______ เลขที่นั่งสอบ_______
10. [10 คะแนน] รูปภาพสามารถแทนดวย array 2 มิติ โดยมีขอมูลใน array เปนจํานวนเต็ม ในการกลับรูปภาพ (flip)
สามารถทําไดโดยการกลับขอมูลใน array โดยปกติการกลับรูปสามารถทําได 2 แนว คือ แนวตั้ง (horizontal) หรือ
แนวนอน (vertical)
จงเขียนฟงกชัน flip ที่ไมสงขอมูลกลับ (void function) โดยรับสงคา array 2 มิติ ขนาด 100 x 100
และวิธีการกลับเปนคาจํานวนเต็ม โดย 0 เปนการกลับรูปแนวตั้งและ 1 เปนการกลับรูป แนวนอน โดยฟงกชัน ทําการ
flip คาใน array ตามวิธีการกลับภาพและ
จงเขียนโปรแกรม main ที่เรียกใชฟงกชันดังกลาว
การกลับรูปแนวตั้งทําไดโดยสลับที่ขอมูลคอลัมนแรกกับขอมูลคอลัมนสุดทาย ขอมูลคอลัมนตัวถัดมากับขอมูล
คอลัมนรองสุดทาย ทําจนกระทั่งถึงขอมูลตัวตรงกลางการกลับรูปแนวนอนทําไดโดยสลับที่ขอมูลแถวแรก
กับขอมูลแถวสุดทาย ขอมูลแถวตัวถัดมากับขอมูลแถว รองสุดทาย ทําจนกระทั่งถึงขอมูล ตัวตรงกลาง
ตัวอยางการ flip สําหรับ array 4x4
กอน หลัง horizontal flip กอน หลัง vertical flip
1 2 3 4 4 3 2 1 1 2 3 4 13 14 15 16
5 6 7 8 8 7 6 5 5 6 7 8 9 10 11 12
9 10 11 12 12 11 10 9 9 10 11 12 5 6 7 8
13 14 15 16 16 15 14 13 13 14 15 16 1 2 3 4
หนาที่ 12 / 13
ชื่อ สกุล________________________________________ รหัส_________________ Section_______ เลขที่นั่งสอบ_______
3. [5 คะแนน] หาผลรันของโปรแกรมตอไปนี้
#include <iostream>
using namespace std;
int main(){
int sizea,sizeb;
int a[N] = {1};
int b[] = {5,4,3};
sizea = sizeof(a)/sizeof(int);
sizeb = sizeof(b)/sizeof(int);
cout<<"a[] = ";
printArray(a,sizea);
cout<<"b[] = ";
printArray(b,sizeb);
int i,n=1;
printArray(a,n);
i=n++;
a[i]=2;
printArray(a,n);
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
หนาที่ 5 / 13
ชื่อ สกุล________________________________________ รหัส_________________ Section_______ เลขที่นั่งสอบ_______
4. [3 คะแนน] หาผลรันของโปรแกรมตอไปนี้
#include <iostream>
using namespace std;
int main()
{
int A[3][3] = {{1,2,3}, {1,2,3}, {1,1,1}};
int rowA[3] = {0};
int colA[3] = {0,0,0};
int allA = 0;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
if(A[i][j]==1) rowA[i]++;
colA[j]+=A[i][j];
allA+=A[i][j];
}
}
cout<<"allA = "<<allA<<endl;
cout<<"rowA =";
for(int i=0; i<3; i++) cout<<"\t"<<rowA[i]<<endl;
cout<<"colA = ";
for(int i=0; i<3; i++) cout<<colA[i]<<" ";
return 0;
}
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
หนาที่ 6 / 13
ชื่อ สกุล________________________________________ รหัส_________________ Section_______ เลขที่นั่งสอบ_______
[2 คะแนน]
• เขียนรับจํานวนหุน iron man มาจากผูใช
• สราง array ขึ้นมาเพื่อเก็บรหัสประจําตัวของหุน
[3 คะแนน]
• รับรหัสประจําตัวของหุนซึ่งเปนเลขจํานวนเต็มบวกเขามาใสใน array ตามลําดับการใสจากผูใช
• แสดงรหัสของหุนทั้งหมดใน array
[6 คะแนน]
• ทําการเปลี่ยนรหัสของหุนใน array เปนคา -1 ทั้งหมด เพื่อเปนการทําลายหุน
• ยกเวนใหเก็บหุนตัวลาสุดไวซึ่งคือหุนตัวที่มีรหัสสูงที่สุด โดยไมตองเปลี่ยนคาเปน -1 ใหเก็บคาเดิมไว
[1 คะแนน]
• แสดงรหัสของหุนทั้งหมดใน array หลังจากการแกแลว
หนาที่ 7 / 13
ชื่อ-สกุล ___________________________________ รหัสนักศึกษา __________________ section ______ เลขที่นั่งสอบ _______
5. (5 คะแนน) จงหาผลรันของโปรแกรมต่อไปนี้
5.1
int main()
{
const int SIZE = 10;
int a[SIZE] = {2, 4, 6, 8, 10};
for(int i = 0; i < SIZE; i += 2){
cout << a[i] << ' ';
}
return 0;
}
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
5.2
int main()
{
char cm[3][3] = { 'a', 'n', 't',
'b', 'a', 't',
'c', 'a', 't'};
for(int i=0; i<3; i++){
for(int j=0; j<3; j++)
cout << cm[j][i] << ' ';
cout << endl;
}
return 0;
}
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
หน้าที่ 7 / 16
ชื่อ-สกุล ___________________________________ รหัสนักศึกษา __________________ section ______ เลขที่นั่งสอบ _______
แสดงผลที่ได้ดังตัวอย่างต่อไปนี้ โดยตัวหนาคือค่าที่ผู้ใช้ป้อนเข้าไป
Enter your matrix: 1 2 3 4 5 6 7 8 9
Enter your command: 1
Enter row number: 1
Enter constant: 2
Output:
2 4 6
4 5 6
7 8 9
Enter your command: 2
Enter two rows number to swap: 2 3
Output:
2 4 6
7 8 9
4 5 6
Enter your command: 3
Enter 1st row, 2nd row and constant: 3 1 -2
Output:
2 4 6
7 8 9
0 -3 -6
Enter your command: 9
Output:
2 4 6
7 8 9
0 -3 -6
Enter your command: 0
หน้าที่ 8 / 16
ชื่อ-สกุล ___________________________________ รหัสนักศึกษา __________________ section ______ เลขทีน่ ั่งสอบ _______
หน้าที่ 7 / 13
ชื่อ-สกุล ___________________________________ รหัสนักศึกษา __________________ section ______ เลขทีน่ ั่งสอบ _______
#include <iostream>
using namespace std;
int main()
{
const int n =5;
int a[][] = {{1,2,3},{2,3,4},{3,4,5}};
int b[n][n] = {0};
for(int i=1; i<n-1; i++){
for(int j=1; j<n-1; j++){
if (j!=i)
b[i][j] = a[i-1][j-1] + a[j-1][i-1];
}
}
for(int x=0; x<n; x++){
for(int y=0; y<n; y++){
cout << b[x][y] << ' ';
}
cout << endl;
}
return 0;
}
ให้กรอกผลการทางานในช่องที่กาหนดให้ด้านล่าง
โดยกาหนดให้ 1 ช่อง คือ อักขระ 1 ตัว ที่จะแสดงผลออกทางจอภาพ
———————————————————————————————————
———————————————————————————————————
———————————————————————————————————
———————————————————————————————————
———————————————————————————————————
———————————————————————————————————
———————————————————————————————————
———————————————————————————————————
หน้าที่ 9 / 13
ชื่อ-สกุล __________________________________ รหัสนักศึกษา __________________ section ______ เลขที่นั่งสอบ _______
2 จงตอบคําถาม ต่อไปนี้
2.1 (5 คะแนน) จงหาผลรันของโปรแกรมต่อไปนี้
#include <iostream>
using namespace std;
int main()
{
int a[4][4] = {{5, 1, 8, 6}, {2, 3, 6, 3}, {4, 6, 4, 7},
{8, 1, 3, 3}};
int row[4] = {0};
int column[4] = {0};
return 0;
}
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
หน้าที่ 4 / 14
ชื่อ-สกุล __________________________________ รหัสนักศึกษา __________________ section ______ เลขที่นั่งสอบ _______
return 0;
}
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
——————————————————————————————
หน้าที่ 5 / 14
ชื่อ-สกุล __________________________________ รหัสนักศึกษา __________________ section ______ เลขที่นั่งสอบ _______
หน้าที่ 6 / 14
ชื#อ-สกุล ____________________________ รหัสนักศึกษา ________________ section ______ เลขที#นงั# สอบ ______
5. จงหาผลรันของโปรแกรมต่อไปนี=
5.1 (4 คะแนน)
#include <iostream>
using namespace std;
void print(int a[], int n)
{
for(int i=0; i<n; i++)
cout << a[i] << ' ';
cout << endl;
}
int main(){
int a[5] = {1,2,3,4,5};
int b[5] = {1};
int c[5] = {5,4,3,2,1};
for(int i=0; i<5; i++)
c[i] += a[i];
int d[] = {3,3,3};
cout<<"a = ";
print(a,5);
cout<<"b = ";
print(b,5);
cout<<"c = ";
print(c,5);
int size = sizeof(d)/sizeof(int);
cout<<"D = ";
print(d,size);
return 0;
}
( __ หมายถึง หนึ#งตัวอักขระ)
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
หน้าที# 8 / 18
ชื#อ-สกุล ____________________________ รหัสนักศึกษา ________________ section ______ เลขที#นงั# สอบ ______
6. (12 คะแนน) โรงงานแห่ งหนึ# งมี การเก็บ สถิ ติป ระสิ ท ธิ ภาพเครื# องมื อจากการปรั บ ค่าควบคุ มเครื# องมื อในแต่ละวัน
เป็ นจํานวนทั=ง สิ= น 10 วัน โดยค่ าควบคุ ม ที# เก็ บ ได้แ ก่ อุ ณ หภู มิ ความเร็ ว รอบ และ อัต ราการฉี ด พ่ น นอกจากนี=
โรงงานยังได้ทาํ การบันทึกค่าประเมินคุณภาพชิ=นงาน (ในหน่วยคะแนนเต็ม 1) ที#เป็ นผลจากค่าควบคุมที#กาํ หนด
ให้ เ ขี ย นโปรแกรมภาษา C++ ทํ า การรั บ ค่ า ต่ า ง ๆ เก็ บ ไว้ใ นอาเรย์ แล้ ว แสดงผลข้ อ มู ล ในแต่ ล ะวัน
รวม ทั= งค่ าป ระเมิ น คุ ณ ภ าพ ชิ= น งาน สู งสุ ด ที# เค ยได้ รั บ ตั= งแ ต่ วั น แ รก จน ถึ งวั น ดั ง ก ล่ าว ห ลั ง จาก นั= น
จึ ง แ ส ด ง ผ ล ข อ ง ค่ า ค ว บ คุ ม ใ น วั น ที# มี ค่ า ป ร ะ เมิ น คุ ณ ภ า พ ชิ= น ง า น สู ง สุ ด เป็ น ค รั= ง แ ร ก แ ล ะ
แสดงค่าคุณภาพชิ=นงานในหน่วยร้อยละ
ตัวอย่างผลรัน
Enter data for 10 days (TEMP RPM SPR Score):
25 12 10 0.5
26 12 10 0.55
26 11 10 0.45
26 11 11 0.475
27 11 10 0.6
30 12 15 0.8
32 12 13 0.7
32 13 14 0.8
31 14 15 0.75
31 15 15 0.76
หน้าที# 10 / 18
ชื#อ-สกุล ____________________________ รหัสนักศึกษา ________________ section ______ เลขที#นงั# สอบ ______
5.2 (4 คะแนน)
#include <iostream>
using namespace std;
int main()
{
int a[2][3] = {{1,2,3}, {4,5,6}};
for(int i=0; i<2; i++){
for(int j=0; j<3; j++)
cout << a[i][j] << ' ';
cout << endl;
}
cout << endl;
for(int i=0; i<3; i++){
for(int j=0; j<2; j++)
cout << a[j][i] << ' ';
cout << endl;
}
return 0;
}
( __ หมายถึง หนึ#งตัวอักขระ)
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
หน้าที# 9 / 18
ชื่อ-สกุล ____________________________ รหัสนักศึกษา ________________ section ______ เลขที่นงั่ สอบ ______
6. (8 คะแนน) จงหำผลรันของโปรแกรมต่อไปนี้
#include <iostream>
using namespace std; typedef float TABLE[2][3];
main() {
int A[5] = {1, 2, 3, 4, 5}; int B[50] = {0}; TABLE C = {{5.5, 6.1, 8.9}, {9.7, 10.0, 8.7}};
int size1 = sizeof(A)/sizeof(int); int size2 = sizeof(B)/sizeof(int);
for (int i = 0; i < size1; i++)
B[i*2] = A[i];
for (int i = 1; i < size1; i++)
A[i] += A[i-1];
for (int i = 0; i < size1; i++)
cout << A[i] << " ";
cout << endl;
for (int i = 0; i < size2-40; i++)
cout << B[i] << " ";
cout << endl;
for (int i = 0; i < 2; i++) {
float sum = 0;
for (int j = 0; j < 3; j++)
sum += C[i][j];
cout << sum << endl;
}
for (int i = 0; i < 3; i++) {
float sum = 0;
for (int j = 0; j < 2; j++)
sum += C[j][i];
cout << sum << endl;
}
}
( __ หมำยถึง หนึ่งตัวอักขระ)
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
หน้ าที่ 8 / 16
ชื่อ-สกุล ____________________________ รหัสนักศึกษา ________________ section ______ เลขที่นงั่ สอบ ______
7. (12 คะแนน) กำหนดให้เมตริกซ์ A และเมตริกซ์ B มีขนำด 3X3 เท่ำกัน ส่วนเมตริกซ์ C มีขนำด 3X6 สมำชิกของเมตริกซ์
C ได้มำจำกสมำชิกของเมตริกซ์ A และเมตริกซ์ B โดยที่สมำชิกที่มีหลัก (column index) เป็นเลขคู่ของเมตริกซ์ C ได้มำ
จำกสมำชิกของเมตริกซ์ A และสมำชิกที่มีหลัก (column index) เป็นเลขคี่ของเมตริกซ์ C ได้มำจำกสมำชิกของเมตริกซ์ B
จงเขียนโปรแกรมภำษำ C++ รับข้อมูลค่ำสมำชิกของเมตริกซ์ A และเมตริกซ์ B จำกแป้นพิมพ์ แล้วทำกำรหำเมตริกซ์ C
จำกนั้นแสดงผลเมตริกซ์ C ออกทำงจอภำพ
ตัวอย่ำงผลรันโปรแกรม (ตัวอักษรหนาหมำยถึงค่ำที่ผู้ใช้ป้อน)
Enter 3x3 values for [A]:
123
123
123
Enter 3x3 values for [B]:
456
456
456
[C] =
1 4 2 5 3 6
1 4 2 5 3 6
1 4 2 5 3 6
หน้ าที่ 9 / 16
ชื่อ-สกุล ____________________________ รหัสนักศึกษา ________________ section ______ เลขที่นงั่ สอบ ______
...........................................................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................................................
หน้ าที่ 6 / 11
ชื่อ-สกุล ____________________________ รหัสนักศึกษา ________________ section ______ เลขที่นงั่ สอบ ______
หน้ าที่ 7 / 11
ชื่อ-สกุล ____________________________ รหัสนักศึกษา ________________ section ______ เลขที่นงั่ สอบ ______
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
7. (4 คะแนน) จงหำผลรันของส่วนของโปรแกรมต่อไปนี้
int a[16] = {1,2,3,1,1,2,3,2,1,2,3,3,1,2,3,4};
for(int x = 1; x <= 4; x++)
{
for(int i = 0; i < 16; i++)
{
if(a[i] == x) cout << i << " ";
}
cout << endl;
}
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
หน้ าที่ 6 / 11
ชื่อ-สกุล ____________________________ รหัสนักศึกษา ________________ section ______ เลขที่นงั่ สอบ ______
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
หน้ าที่ 7 / 11