#include <iostream>
using namespace std;
void correctAnswer(char a[][10],char b[],int row,int col);
int main(){
const int STUDENT_NUMBER = 8;
const int QUESTION_NUMBER = 10;
char studentAnswer[STUDENT_NUMBER][QUESTION_NUMBER] = {
{'A', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},
{'D', 'B', 'A', 'B', 'C', 'A', 'E', 'E', 'A', 'D'},
{'E', 'D', 'D', 'A', 'C', 'B', 'E', 'E', 'A', 'D'},
{'C', 'B', 'A', 'E', 'D', 'C', 'E', 'E', 'A', 'D'},
{'A', 'B', 'D', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},
{'B', 'B', 'E', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},
{'B', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},
{'E', 'B', 'E', 'C', 'C', 'D', 'E', 'E', 'A', 'D'}
};
char answer[]={'D','B','D','C','C','D','A','E','A','D'};
correctAnswer(studentAnswer,answer,STUDENT_NUMBER,QUESTION_NUMBER);
return 0;
}
void correctAnswer(char a[][10],char b[],int row,int col)
{
int i,j;
for(i=0;i<row;i++)
{
int correctCount = 0; //반복할 때마다 정답 개수 초기화
for(j=0;j<col;j++)
{
if(a[i][j] == b[j])
correctCount++;
}
cout<<"Student "<<i<<"'s correct count is "<<correctCount<<endl;
}
}
Danhae's Blog
2017년 6월 1일 목요일
2017년 5월 31일 수요일
(비이공계)2차원배열+함수
#include <stdio.h>
void evenCalc(int arr[][10],int n);
void oddCalc(int arr[][10],int n);
int main(){
int arr[3][10] = {{38,97,25,66,90,31,16,86,33,59},{21,14,36,39,92,11,18,48,25,49},{33,44,29,46,45,66,56,91,27,65}};
int rowsize = sizeof(arr)/sizeof(arr[0]);
printf("[실행결과]\n");
printf("********************\n");
evenCalc(arr,rowsize);
oddCalc(arr,rowsize);
printf("********************\n");
return 0;
}
void evenCalc(int arr[][10],int n)
{
int i,j;
int total = 0;
int cnt = 0;
double avg = 0;
for(i=0;i<n;i++)
{
for(j=0;j<10;j++)
{
if(arr[i][j]%2==0)
{
total+=arr[i][j];
cnt++;
}
}
}
avg = (double)total/cnt;
printf("짝수의 합 : %d\n",total);
printf("짝수의 평균 : %.3lf\n",avg);
}
void oddCalc(int arr[][10],int n)
{
int i,j;
int total = 0;
int cnt = 0;
double avg = 0;
for(i=0;i<n;i++)
{
for(j=0;j<10;j++)
{
if(arr[i][j]%2!=0)
{
total+=arr[i][j];
cnt++;
}
}
}
avg = (double)total/cnt;
printf("홀수의 합 : %d\n",total);
printf("홀수의 평균 : %.3lf\n",avg);
}
void evenCalc(int arr[][10],int n);
void oddCalc(int arr[][10],int n);
int main(){
int arr[3][10] = {{38,97,25,66,90,31,16,86,33,59},{21,14,36,39,92,11,18,48,25,49},{33,44,29,46,45,66,56,91,27,65}};
int rowsize = sizeof(arr)/sizeof(arr[0]);
printf("[실행결과]\n");
printf("********************\n");
evenCalc(arr,rowsize);
oddCalc(arr,rowsize);
printf("********************\n");
return 0;
}
void evenCalc(int arr[][10],int n)
{
int i,j;
int total = 0;
int cnt = 0;
double avg = 0;
for(i=0;i<n;i++)
{
for(j=0;j<10;j++)
{
if(arr[i][j]%2==0)
{
total+=arr[i][j];
cnt++;
}
}
}
avg = (double)total/cnt;
printf("짝수의 합 : %d\n",total);
printf("짝수의 평균 : %.3lf\n",avg);
}
void oddCalc(int arr[][10],int n)
{
int i,j;
int total = 0;
int cnt = 0;
double avg = 0;
for(i=0;i<n;i++)
{
for(j=0;j<10;j++)
{
if(arr[i][j]%2!=0)
{
total+=arr[i][j];
cnt++;
}
}
}
avg = (double)total/cnt;
printf("홀수의 합 : %d\n",total);
printf("홀수의 평균 : %.3lf\n",avg);
}
2017년 5월 25일 목요일
0525 수업 내용 : 배열탐색_선형/이진탐색
/*선형 탐색 프로그램*/
#include <iostream>
using namespace std;
int lineSearch(const int list[],int key,int size);
int main(){
int const SIZE = 6;
int list[] = {6,4,1,9,7,3,2,8};
int i = lineSearch(list,3,SIZE);
cout<<i<<endl;
return 0;
}
int lineSearch(const int list[],int key,int size)
{
for(int i=0;i<size;i++)
{
if(key==list[i])
return i;
}
return -1;
}
/*이진 탐색 프로그램*/
#include <iostream>
using namespace std;
int binarySearch(const int list[],int key,int arraySize);
int main(){
int list[] = {2,4,7,10,15,16,19,20,27,56,59,80};
int i = binarySearch(list,80,20);
cout<<i<<endl;
return 0;
}
int binarySearch(const int list[],int key,int arraySize)
{
int low = 0;
int high = arraySize-1;
while(high>=low)
{
int mid = (low+high)/2;
if(key < list[mid])
high = mid - 1;
else if(key == list[mid])
return mid;
else
low = mid + 1;
}
return low - 1;
}
#include <iostream>
using namespace std;
int lineSearch(const int list[],int key,int size);
int main(){
int const SIZE = 6;
int list[] = {6,4,1,9,7,3,2,8};
int i = lineSearch(list,3,SIZE);
cout<<i<<endl;
return 0;
}
int lineSearch(const int list[],int key,int size)
{
for(int i=0;i<size;i++)
{
if(key==list[i])
return i;
}
return -1;
}
/*이진 탐색 프로그램*/
#include <iostream>
using namespace std;
int binarySearch(const int list[],int key,int arraySize);
int main(){
int list[] = {2,4,7,10,15,16,19,20,27,56,59,80};
int i = binarySearch(list,80,20);
cout<<i<<endl;
return 0;
}
int binarySearch(const int list[],int key,int arraySize)
{
int low = 0;
int high = arraySize-1;
while(high>=low)
{
int mid = (low+high)/2;
if(key < list[mid])
high = mid - 1;
else if(key == list[mid])
return mid;
else
low = mid + 1;
}
return low - 1;
}
0525 수업내용_배열 역순 복사
#include <iostream>
using namespace std;
void reverse(const int list[],int newList[],int size);
void printArray(const int list[],int size);\
int main(){
const int SIZE = 6;
int list[] = {1,2,3,4,5,6};
int newList[SIZE] = {0};
reverse(list,newList,SIZE);
cout<<"Origianl Array : ";
printArray(list,SIZE);
cout<<"\n";
cout<<"The reversed Array : ";
printArray(newList,SIZE);
cout<<"\n";
return 0;
}
void reverse(const int list[],int newList[],int size)
{
for(int i = 0,j=size-1;i<size;i++,j--)
{
newList[j] = list[i];
}
}
void printArray(const int list[],int size){
for(int i=0;i<size;i++)
cout<<list[i]<<" ";
}
using namespace std;
void reverse(const int list[],int newList[],int size);
void printArray(const int list[],int size);\
int main(){
const int SIZE = 6;
int list[] = {1,2,3,4,5,6};
int newList[SIZE] = {0};
reverse(list,newList,SIZE);
cout<<"Origianl Array : ";
printArray(list,SIZE);
cout<<"\n";
cout<<"The reversed Array : ";
printArray(newList,SIZE);
cout<<"\n";
return 0;
}
void reverse(const int list[],int newList[],int size)
{
for(int i = 0,j=size-1;i<size;i++,j--)
{
newList[j] = list[i];
}
}
void printArray(const int list[],int size){
for(int i=0;i<size;i++)
cout<<list[i]<<" ";
}
2017년 4월 30일 일요일
(비이공계C) 소수판별 프로그램
#include <stdio.h>
int main() {
int input;
while(1){
int flag = 0; //참거짓 판별(flag=0이면 소수/아니면 소수가 아님)
int i = 2; //1은 모든 자연수의 공통약수니까 2부터
printf("정수를 입력하세요. : "); scanf("%d",&input);
while(i<=(input/2)) //3보다 큰 자연수 중
{
if(input%i==0) {
flag = 1; //소수가 아님
break; //또는 i=input
}else
i++; //약수를 2부터 3,4,5,대입
//i가 input보다 커지면 프로그램 종료 --> flag는 여전히 0
}
if(flag==0)
printf("소수입니다.\n");
else
printf("소수가 아닙니다.\n"); //flag==1인 경우
}
return 0;
}
int main() {
int input;
while(1){
int flag = 0; //참거짓 판별(flag=0이면 소수/아니면 소수가 아님)
int i = 2; //1은 모든 자연수의 공통약수니까 2부터
printf("정수를 입력하세요. : "); scanf("%d",&input);
while(i<=(input/2)) //3보다 큰 자연수 중
{
if(input%i==0) {
flag = 1; //소수가 아님
break; //또는 i=input
}else
i++; //약수를 2부터 3,4,5,대입
//i가 input보다 커지면 프로그램 종료 --> flag는 여전히 0
}
if(flag==0)
printf("소수입니다.\n");
else
printf("소수가 아닙니다.\n"); //flag==1인 경우
}
return 0;
}
2017년 4월 18일 화요일
doWhile()문 : 구구단 구하기 **
#include <iostream>
using namespace std;
int main(){
int dan = 2;
int i = 0;
do {
i = 1;
do
{
cout<<dan<<" x "<<i<<" = "<<dan*i<<endl;
i++;
}while(i<10);
dan++;
cout<<"\n";
}while(dan<10);
return 0;
}
using namespace std;
int main(){
int dan = 2;
int i = 0;
do {
i = 1;
do
{
cout<<dan<<" x "<<i<<" = "<<dan*i<<endl;
i++;
}while(i<10);
dan++;
cout<<"\n";
}while(dan<10);
return 0;
}
while()문 : 정수 입력받아 평균 구하기
using namespace std;
int main(){
int inputNum;
int number;
int sum=0;
cout<<"입력할 정수의 개수를 입력하시오. : ";
cin>>inputNum;
int i=1;
while(i<=inputNum){
cout<<i<<"번 째 정수 입력 : "; cin>>number;
sum+=number;
i++;
}
double avg=(double)sum/inputNum;
cout<<"평균은 : "<<avg<<endl;
return 0;
}
피드 구독하기:
글 (Atom)


