엔지니어가 되고 싶은 공돌이

09. Array Code 본문

C++ Language/Base C++

09. Array Code

Geca 2021. 4. 4. 22:52

- 배열의 각 원소를 함수에 전달.

#include <iostream>

using namespace std;

void print_defference(int max,int &data);
//void print_defference(int max,int data);
int main()
{
	int i, max, sc[5];

	cout << "Enter 5 numbers: ";
	for(i=0; i<5; i++)
		cin >> sc[i];

	max = sc[0];
	for(i=0; i<5; i++)
		if(sc[i]>max) max=sc[i];
	cout << "Max = " << max << endl;

    // 인자로서 각 배열의 요소를 전달
	cout << "Defferences" << endl;
	for(i=0; i<5; i++)
	{	print_defference(max,sc[i]);
		cout << sc[i] << endl;
	}
    return 0;
}

//void print_defference(int max,int data)
void print_defference(int max,int &data)
{
	cout << (max-data) << endl;
	data = 0;
}

 

- 배열 전체를 함수에 전달.

#include <iostream>

using namespace std;

void print_defference(int max,int data);
int find_max(int list[], int size);

int main()
{
	int i, max, sc[5];

	cout << "Enter 5 numbers: ";
	for(i=0; i<5; i++)
		cin >> sc[i];
	// 인자로서 배열 전체를 전달
	max = find_max(sc, 5);
	cout << "Max = " << max << endl;

	// 인자로서 각 배열의 요소를 전달
	cout << "Defferences" << endl;
	for(i=0; i<5; i++)
		print_defference(max,sc[i]);
	
    return 0;
}

void print_defference(int max,int data)
{
	cout << (max-data) << endl;
	
}

int find_max(int list[], int size)
{
	int max = list[0];
	for(int i=0; i<size; i++)
		if(list[i]>max) max = list[i];
	return max;
}

 

- 다 차원 배열

#include <iostream>

using namespace std;

//void print_defference(int max,int data);
//int find_max(int list[], int size);
//void find_max(int list[][4],int fmax[], int row, int column);
void find_max(int list[][4],int fmax[], int row);
	
int main()
{
	int sc[2][4] = {{5,6,7,3},{13,12,11,15}};
	int max[2];

	// 인자로서 배열 전체를 전달
//	find_max(sc, max, 2, 4);
	find_max(sc, max, 2);

	cout << "Max0= "<< max[0] << endl;
	cout << "Max1= "<< max[1] << endl;

	// 인자로서 각 배열의 요소를 전달
//	cout << "Defferences" << endl;
//	for(i=0; i<5; i++)
//		print_defference(max,sc[i]);
	
    return 0;
}

//void find_max(int list[][4],int fmax[], int row, int column)
void find_max(int list[][4],int fmax[], int row)
{
	for(int i = 0; i< row; i++)
	{
		fmax[i] = list[i][0];
		for(int j=0; j < 4; j++)
			if(list[i][j] > fmax[i]) fmax[i] = list[i][j];
	}
}

'C++ Language > Base C++' 카테고리의 다른 글

11. Class Code  (0) 2021.04.06
10. Struct Code  (0) 2021.04.05
08. Class  (0) 2021.04.03
07. Structure  (0) 2021.04.02
06. array  (0) 2021.03.30
Comments