CHAPTER 07 - 0083tony/Core-C-Programming GitHub Wiki

๋ฐฐ์—ด

  • 1๋ฒˆ ๋ฌธ์ œ

ํฌ๊ธฐ๊ฐ€ 10์ธ ๋“ฑ์ฐจ์ˆ˜์—ด์˜ ์ฒซ ํ•ญ๊ณผ ๊ณต์ฐจ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	int a, b;
	int arr[10];

	printf("์ฒซ ๋ฒˆ์งธ ํ•ญ? ");
	scanf_s("%d", &a);
	printf("๊ณต์ฐจ? ");
	scanf_s("%d", &b);

	for (int i = 0; i < 10; i++) {
		if (i != 0)
			// arr[0]์„ ์ œ์™ธ ๋‚˜๋จธ์ง€๋Š” arr[i-1]์— ๊ณต์ฐจ b๋ฅผ ๋”ํ•œ๋‹ค.
			arr[i] = arr[i - 1] + b;
		else if (i == 0)
			// arr[0] = ์ฒซ ๋ฒˆ์งธ ํ•ญ
			arr[i] = a;
	}

	printf("๋“ฑ์ฐจ์ˆ˜์—ด:");

	// ๋“ฑ์ฐจ์ˆ˜์—ด ์ถœ๋ ฅ
	for (int i = 0; i < 10; i++) {
		printf(" %d", arr[i]);
	}
	return 0;
}

[์‹คํ–‰ ๊ฒฐ๊ณผ]

์ฒซ ๋ฒˆ์งธ ํ•ญ? 1
๊ณต์ฐจ? 5
๋“ฑ์ฐจ์ˆ˜์—ด: 1 6 11 16 21 26 31 36 41 46
  • 2๋ฒˆ ๋ฌธ์ œ

ํฌ๊ธฐ๊ฐ€ 10์ธ ๋“ฑ๋น„์ˆ˜์—ด์˜ ์ฒซ ํ•ญ๊ณผ ๊ณต์ฐจ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	double a, b;
	double arr[10];

	printf("์ฒซ ๋ฒˆ์งธ ํ•ญ? ");
	scanf_s("%lf", &a);
	printf("๊ณต์ฐจ? ");
	scanf_s("%lf", &b);

	for (int i = 0; i < 10; i++) {
		if (i != 0)
			// arr[0]์„ ์ œ์™ธ ๋‚˜๋จธ์ง€๋Š” arr[i-1]์— ๊ณต์ฐจ b๋ฅผ ๊ณฑํ•œ๋‹ค.
			arr[i] = arr[i - 1] * b;
		else if (i == 0)
			// arr[0] = ์ฒซ ๋ฒˆ์งธ ํ•ญ
			arr[i] = a;
	}

	printf("๋“ฑ์ฐจ์ˆ˜์—ด:");

	// ๋“ฑ์ฐจ์ˆ˜์—ด ์ถœ๋ ฅ
	for (int i = 0; i < 10; i++) {
		if (i == 0)printf("%.1f ", arr[i]);
		else if (i == 9)printf("%e ", arr[i]);
		else printf("%.0f ", arr[i]);
	}
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

์ฒซ ๋ฒˆ์งธ ํ•ญ? 1.2
๊ณต์ฐจ? 5
๋“ฑ์ฐจ์ˆ˜์—ด:1.2 6 30 150 750 3750 18750 93750 468750 2.343750e+06
  • 3๋ฒˆ ๋ฌธ์ œ

ํฌ๊ธฐ๊ฐ€ 10์ธ ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด์—์„œ ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	int arr[10]{ 23,45,62,12,99,83,23,50,72,37 };

	int max = arr[0];
	int min = arr[0];

	printf("๋ฐฐ์—ด: ");
	// ๋ฐฐ์—ด์„ ์ถœ๋ ฅ
	for (int i = 0; i < 10; i++) {
		printf("%d ", arr[i]);
	}
	// ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’์€ ๋Œ€์†Œ๋น„๊ต๋กœ ๊ตฌํ•œ๋‹ค
	for (int i = 0; i < 10; i++) {
		if (arr[i] > max) {
			max = arr[i];
		}
		if (arr[i] < min) {
			min = arr[i];
		}
	}
	printf("\n์ตœ๋Œ€๊ฐ’: %d\n", max);
	printf("์ตœ์†Œ๊ฐ’: %d\n", min);

	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

๋ฐฐ์—ด: 23 45 62 12 99 83 23 50 72 37
์ตœ๋Œ€๊ฐ’: 99
์ตœ์†Œ๊ฐ’: 12
  • 4๋ฒˆ ๋ฌธ์ œ

3๋ฒˆ ๋ฌธ์ œ์˜ ํ”„๋กœ๊ทธ๋žจ์— ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’์˜ index๋ฅผ ๊ฐ™์ด ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€

#include<stdio.h>
int main(void) {
	int arr[10]{ 23,45,62,12,99,83,23,50,72,37 };
	int i, max, min;
	int max_index, min_index;

	max = arr[0];
	min = arr[0];

	printf("๋ฐฐ์—ด: ");
	for (i = 0; i < 10; i++) {
		printf("%d ", arr[i]);
	}
	// ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’์€ ๋Œ€์†Œ๋น„๊ต๋กœ ๊ตฌํ•˜๊ณ  ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’์˜ index i๋ฅผ ์ €์žฅ 
	for (i = 0; i < 10; i++) {
		if (arr[i] > max) {
			max = arr[i];
			max_index = i;
		}
		if (arr[i] < min) {
			min = arr[i];
			min_index = i;
		}
	}
	printf("\n์ตœ๋Œ€๊ฐ’: ์ธ๋ฑ์Šค= %d ๊ฐ’= %d\n", max_index, max);
	printf("์ตœ์†Œ๊ฐ’: ์ธ๋ฑ์Šค= %d ๊ฐ’= %d\n", min_index, min);

	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

๋ฐฐ์—ด: 23 45 62 12 99 83 23 50 72 37
์ตœ๋Œ€๊ฐ’: ์ธ๋ฑ์Šค= 4 ๊ฐ’= 99
์ตœ์†Œ๊ฐ’: ์ธ๋ฑ์Šค= 3 ๊ฐ’= 12
  • 5๋ฒˆ ๋ฌธ์ œ

ํฌ๊ธฐ๊ฐ€ 10์ธ ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด์—์„œ ํŠน์ •๊ฐ’์„ ์—ญ์ˆœ์œผ๋กœ ์ฐพ์•„์„œ ์ถœ๋ ฅํ•˜๋˜ ์ค‘๋ณต ์ถœ๋ ฅ์€ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	int arr[10]{ 23,45,62,12,99,83,23,50,12,37 };
	int num;

	printf("๋ฐฐ์—ด: ");

	for (int i = 0; i < 10; i++) {
		printf("%d ", arr[i]);
	}
	printf("\n์ฐพ์„ ๊ฐ’? ");
	scanf_s("%d", &num);

	for (int i = 9; i >= 0; --i) {
		// ๋ฐฐ์—ด์— ์ €์žฅ๋œ ์ˆ˜๋ฅผ ์—ญ์ˆœ์œผ๋กœ n๊ณผ ๋น„๊ต
		if (arr[i] == num) {
			// arr[]๋Š” 0๋ถ€ํ„ฐ ๊ฐ’์ด ์ €์žฅ๋˜๋ฏ€๋กœ i+1๋ฒˆ์งธ์— ์ €์žฅ๋œ ์ˆ˜
			printf("%d ๋Š” %d๋ฒˆ์งธ ์›์†Œ์ž…๋‹ˆ๋‹ค.", arr[i], i + 1);
			// ์ค‘๋ณต ์ถœ๋ ฅ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ์›์†Œ๋ฅผ ์ฐพ์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ
			return 0;
		}
	}
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

๋ฐฐ์—ด: 23 45 62 12 99 83 23 50 12 37
์ฐพ์„ ๊ฐ’? 12
12 ๋Š” 9๋ฒˆ์งธ ์›์†Œ์ž…๋‹ˆ๋‹ค.
  • 6๋ฒˆ ๋ฌธ์ œ

ํฌ๊ธฐ๊ฐ€ 10์ธ ์‹ค์ˆ˜ํ˜• ๋ฐฐ์—ด์„ ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	double arr[10]{ 1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10.1 };
	double temp[10]; // ์ž„์‹œ ์ €์žฅ ๋ฐฐ์—ด
	int count = 0;

	printf("๋ฐฐ์—ด: ");
	for (int i = 0; i < 10; i++) {
		printf("%.1f  ", arr[i]);
	}
	// ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌ
	for (int i = 9; i >= 0; i--) {
		temp[count] = arr[i];
		count++;
	}
	printf("\n์—ญ์ˆœ: ");
	for (int i = 0; i < 10; i++) {
		arr[i] = temp[i];
		printf("%.1f  ", arr[i]);
	}
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

๋ฐฐ์—ด: 1.1  2.2  3.3  4.4  5.5  6.6  7.7  8.8  9.9  10.1
์—ญ์ˆœ: 10.1  9.9  8.8  7.7  6.6  5.5  4.4  3.3  2.2  1.1
  • 7๋ฒˆ ๋ฌธ์ œ

ํฌ๊ธฐ๊ฐ€ 20์ธ ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด์— ํŠน์ •๊ฐ’์„ ์ž…๋ ฅ๋ฐ›์•„ ๋ชจ๋‘ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ์ฑ„์šฐ๋Š” ํ”„๋กœ๊ทธ

#include<stdio.h>
void fill_array(int a) {
	int i;
	int arr[20];

	for (i = 0; i < 20; i++) {
		arr[i] = a;
		printf("%d  ", arr[i]);
	}
}
int main(void) {
	int a;

	printf("๋ฐฐ์—ด์˜ ์›์†Œ์— ์ €์žฅํ•  ๊ฐ’? ");
	scanf_s("%d", &a);
	fill_array(a);

	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

๋ฐฐ์—ด์˜ ์›์†Œ์— ์ €์žฅํ•  ๊ฐ’? 7
7  7  7  7  7  7  7  7  7  7  7  7  7  7  7  7  7  7  7  7
  • 8๋ฒˆ ๋ฌธ์ œ

์ƒํ’ˆ ๊ฐ€๊ฒฉ์ด ์ €์žฅ๋œ ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด์— ๋Œ€ํ•œ ํ• ์ธ์œจ(%)์„ ์ž…๋ ฅ๋ฐ›์•„ ๋ฌผ๊ฑด์˜ ํ• ์ธ๊ฐ€๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	int arr[5];
	double price, n;

	printf("์ƒํ’ˆ๊ฐ€ 5๊ฐœ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:\n");

	// ์ž…๋ ฅ๋ฐ›์€ ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ์„ ๋ฐฐ์—ด์— ์ €์žฅ
	for (int i = 0; i < 5; i++) {
		scanf_s("%d", &arr[i]);
	}

	printf("ํ• ์ธ์œจ(%%)? ");
	scanf_s("%lf", &n);

	// ํ• ์ธ๊ฐ€๋ฅผ ์—ฐ์‚ฐํ•ด์„œ ์ถœ๋ ฅ
	for (int i = 0; i < 5; i++) {
		price = arr[i] - (arr[i] * (0.01 * n));
		printf("๊ฐ€๊ฒฉ:%8d --> ํ• ์ธ๊ฐ€:%8.0lf\n", arr[i], price);
	}
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

์ƒํ’ˆ๊ฐ€ 5๊ฐœ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:
12000 18000 20000 50000 5600
ํ• ์ธ์œจ(%)? 20
๊ฐ€๊ฒฉ:   12000 --> ํ• ์ธ๊ฐ€:    9600
๊ฐ€๊ฒฉ:   18000 --> ํ• ์ธ๊ฐ€:   14400
๊ฐ€๊ฒฉ:   20000 --> ํ• ์ธ๊ฐ€:   16000
๊ฐ€๊ฒฉ:   50000 --> ํ• ์ธ๊ฐ€:   40000
๊ฐ€๊ฒฉ:    5600 --> ํ• ์ธ๊ฐ€:    4480
  • 9๋ฒˆ ๋ฌธ์ œ

1~12์›”์˜ ์š”๊ธˆ์„ ๋ฐฐ์—ด์— ์ €์žฅํ•˜๊ณ  ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋กœ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	int arr[12];
	int a;

	printf("1 ~ 12์›” ๊นŒ์ง€ ํ•ธ๋“œํฐ ์š”๊ธˆ์„ ์ž…๋ ฅํ•˜์„ธ์š”.\n");

	// ๋ฐฐ์—ด์— ์š”๊ธˆ์„ ์ €์žฅ
	for (int j = 0; j < 12; j++) {
		scanf_s("%d", &arr[j]);
	}
	// 2000์›๋‹น * ํ•œ๊ฐœ๋กœ ์ถœ๋ ฅ == ์š”๊ธˆ / 2000
	for (int i = 0; i < 12; i++) {
		printf("\n%2d์›” %d: ", i + 1, arr[i]);
		a = arr[i] / 2000;

		for (int l = 0; l < a; l++) {
			printf("*");
		}
	}
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

1 ~ 12์›” ๊นŒ์ง€ ํ•ธ๋“œํฐ ์š”๊ธˆ์„ ์ž…๋ ฅํ•˜์„ธ์š”.
10000 12000 15000 16000 30000 50000 60500 40000 30000 32000 74000 18000

 1์›” 10000: *****
 2์›” 12000: ******
 3์›” 15000: *******
 4์›” 16000: ********
 5์›” 30000: ***************
 6์›” 50000: *************************
 7์›” 60500: ******************************
 8์›” 40000: ********************
 9์›” 30000: ***************
10์›” 32000: ****************
11์›” 74000: *************************************
12์›” 18000: *********
  • 10๋ฒˆ ๋ฌธ์ œ

3x3 ํ–‰๋ ฌ์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	int arr[3][3] = { {10,20,30},{40,50,60},{70,80,90} };
	int brr[3][3] = { {9,8,7},{6,5,4},{3,2,1} };

	printf("X ํ–‰๋ ฌ:\n");
	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 3; j++) {
			printf("%3d ", arr[i][j]);
		}
		printf("\n");
	}
	printf("Y ํ–‰๋ ฌ:\n");
	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 3; j++) {
			printf("%3d ", brr[i][j]);
		}
		printf("\n");
	}
	printf("X + Y ํ–‰๋ ฌ:\n");

	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 3; j++) {
			printf("%3d ", arr[i][j] + brr[i][j]);
		}
		printf("\n");
	}
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

X ํ–‰๋ ฌ:
 10  20  30
 40  50  60
 70  80  90
Y ํ–‰๋ ฌ:
  9   8   7
  6   5   4
  3   2   1
X + Y ํ–‰๋ ฌ:
 19  28  37
 46  55  64
 73  82  91
  • 11๋ฒˆ ๋ฌธ์ œ

ํฌ๊ธฐ๊ฐ€ 5,4์ธ 2์ฐจ์› ๋ฐฐ์—ด์— ํ•™์ƒ์˜ ์„ฑ์ ์„ ์ž…๋ ฅํ•˜๊ณ  ํ‰๊ท ์„ ๊ณ„์‚ฐํ•ด์„œ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	float arr[5][4], avg[4];
	float avg1;

	for (int i = 0; i < 5; i++) {
		printf("ํ•™์ƒ   %d๋ฒˆ:", i + 1);
		for (int j = 0; j < 4; j++) {
			scanf_s("%f", &arr[i][j]);
			// ๊ณผ๋ชฉ๋ณ„๋กœ ์ตœ๋Œ€ ์ ์ˆ˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๋‹ค
			if ((j < 3) && (arr[i][j] > 30) || (j == 3) && (arr[i][j] > 10)) {
				printf("์„ฑ์ ์„ ์ž˜๋ชป ์ž…๋ ฅํ•˜์˜€์Šต๋‹ˆ๋‹ค.");
				return 0;
			}
		}
	}
	// ํ•™์ƒ ๊ฐœ์ธ์˜ ํ‰๊ท  ์„ฑ์ 
	for (int c = 0; c < 4; c++) {
		avg[c] = (arr[0][c] + arr[1][c] + arr[2][c] + arr[3][c] + arr[4][c]) / 5;
	}
	printf("\n");
	for (int a = 0; a < 5; a++) {
		printf("ํ•™์ƒ   %d๋ฒˆ: ", a + 1);
		avg1 = 0;
		for (int b = 0; b < 4; b++) {
			printf("%10.0f", arr[a][b]);
			avg1 = arr[a][b] + avg1;
			if (b == 3) {
				printf(" ==> %.0f\n", avg1);
			}
		}
		// ์ „์ฒด ํ•™์ƒ์˜ ๊ณผ๋ชฉ๋ณ„ ํ‰๊ท  ์„ฑ์ 
		if (a == 4) {
			printf("\nํ•ญ๋ชฉ๋ณ„ ํ‰๊ท : %10.2f%10.2f%10.2f%10.2f", avg[0], avg[1], avg[2], avg[3]);
		}
	}
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

ํ•™์ƒ   1๋ฒˆ:         28        28        26         9 ==> 91
ํ•™์ƒ   2๋ฒˆ:         30        27        30        10 ==> 97
ํ•™์ƒ   3๋ฒˆ:         25        26        24         8 ==> 83
ํ•™์ƒ   4๋ฒˆ:         18        22        22         5 ==> 67
ํ•™์ƒ   5๋ฒˆ:         24        25        30        10 ==> 89

ํ•ญ๋ชฉ๋ณ„ ํ‰๊ท :      25.00     25.60     26.40      8.40
  • 12๋ฒˆ ๋ฌธ์ œ

O X๋กœ ์˜ˆ๋งค ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ธฐ์ฐจํ‘œ ์˜ˆ๋งค ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int a = 0, add = 0, n = 0;

	for (;;) {
		for (int i = 0; i < 9; i++) {
			printf("ํ˜„์žฌ ์ขŒ์„: ");
			// ์˜ˆ๋งค๋œ ์ขŒ์„์˜ ์ˆ˜ ๋งŒํผ X ์ถœ๋ ฅ
			if (add != 0) {
				for (int j = 0; j < add; j++) {
					printf("X ");
				}
			}
			// ์˜ˆ๋งค ๊ฐ€๋Šฅํ•œ ์ขŒ์„์˜ ์ˆ˜ ๋งŒํผ O ์ถœ๋ ฅ
			for (int k = 0; k < (10 - add); k++) {
				printf("O ");
			}
			printf("\n์˜ˆ๋งคํ•  ์ขŒ์„์ˆ˜? ");
			scanf_s("%d", &a);
			add = a + add;
			// ์˜ˆ๋งค๋œ ์ขŒ์„์˜ ๋ฒˆํ˜ธ ์ถœ๋ ฅ
			for (int l = 0; l < a; l++) {
				n++;
				printf("%d ", arr[n - 1]);
			}
			printf("๋ฒˆ ์ขŒ์„์„ ์˜ˆ๋งคํ–ˆ์Šต๋‹ˆ๋‹ค.\n");

			if (add == 10)
				// ์ „ ์ขŒ์„์ด ๋งค์ง„๋˜๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ
				return 0;
		}
	}
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

ํ˜„์žฌ ์ขŒ์„: O O O O O O O O O O
์˜ˆ๋งคํ•  ์ขŒ์„์ˆ˜? 2
1 2 ๋ฒˆ ์ขŒ์„์„ ์˜ˆ๋งคํ–ˆ์Šต๋‹ˆ๋‹ค.
ํ˜„์žฌ ์ขŒ์„: X X O O O O O O O O
์˜ˆ๋งคํ•  ์ขŒ์„์ˆ˜? 5
3 4 5 6 7 ๋ฒˆ ์ขŒ์„์„ ์˜ˆ๋งคํ–ˆ์Šต๋‹ˆ๋‹ค.
ํ˜„์žฌ ์ขŒ์„: X X X X X X X O O O
์˜ˆ๋งคํ•  ์ขŒ์„์ˆ˜? 3
8 9 10 ๋ฒˆ ์ขŒ์„์„ ์˜ˆ๋งคํ–ˆ์Šต๋‹ˆ๋‹ค.
  • 13๋ฒˆ ๋ฌธ์ œ

๋‚œ์ˆ˜๋กœ 2๊ฐœ์˜ ๋ฐฐ์—ด์„ ์ฑ„์šฐ๊ณ  ๋น„ํŠธ OR ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
#include<stdlib.h> // srand(), rand() ํ•จ์ˆ˜
#include<time.h> // time() ํ•จ์ˆ˜
int main(void) {
	unsigned char arr[16], brr[16];
	srand(time(NULL));

	// 0~255 ์‚ฌ์ด์˜ ๋‚œ์ˆ˜๋ฅผ ๋ฐฐ์—ด์— ์ฑ„์›€
	for (int i = 0; i < 16; i++) {
		arr[i] = rand() % 256;
		brr[i] = rand() % 256;
	}
	printf("image1: ");
	for (int i = 0; i < 16; i++) {
		printf("%4X", arr[i]);
	}
	printf("\nimage2: ");
	for (int i = 0; i < 16; i++) {
		printf("%4X", brr[i]);
	}
	// or ์—ฐ์‚ฐ ํ›„ ์ถœ๋ ฅ
	printf("\nimage3: ");
	for (int i = 0; i < 16; i++) {
		printf("%4X", arr[i] | brr[i]);
	}
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

image1:   D2  CD  F3  E1  1A  61  D8   6  3B  ED  F4  DF  B5  D5  DD  BB
image2:   54  1B  55  D7  10  81  E2  84  B1  16  7F  6A  3E  27  E6  1A
image3:   D6  DF  F7  F7  1A  E1  FA  86  BB  FF  FF  FF  BF  F7  FF  BB
  • 14๋ฒˆ ๋ฌธ์ œ

๋‚œ์ˆ˜๋กœ ๋ฐฐ์—ด์„ ์ฑ„์šฐ๊ณ  ์ž„์˜์˜ ์ˆœ์„œ๋กœ ๋ฐฐ์—ด์„ ์…”ํ”Œํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
#include<stdlib.h> // srand(), rand() ํ•จ์ˆ˜
#include <time.h> // time() ํ•จ์ˆ˜
void suf(int* arr) {
	srand(time(NULL)); 
	// ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์˜ค๋ฅ˜๋กœ int๊ฐ€ ์•„๋‹Œ size_t ์‚ฌ์šฉ
	for (size_t i = 0; i < 10; i++) {
		// ์ž„์˜์˜ ์ˆœ์„œ๋กœ ์…”ํ”Œ
		size_t j = i + rand() / (RAND_MAX / (10 - i) + 1);
		int temp = arr[j];
		arr[j] = arr[i];
		arr[i] = temp;
		printf("%4d", temp);
	}
}
int main(void) {
	int arr[10] = { 12,64,80,42,67,9,8,7,56,48 };

	printf("์…”ํ”Œ ์ „: ");
	for (int i = 0; i < 10; i++) {
		printf("%4d", arr[i]);
	}
	printf("\n์…”ํ”Œ ํ›„: ");
	suf(arr);
	
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

์…”ํ”Œ ์ „:   12  64  80  42  67   9   8   7  56  48
์…”ํ”Œ ํ›„:   12  64  80  67   7   9  48  56   8  42
  • 15๋ฒˆ ๋ฌธ์ œ

๋ฐฐ์—ด์„ 0์œผ๋กœ ์ฑ„์šฐ๋Š” ํ•จ์ˆ˜ ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int zero_array(int *arr) {
	return *arr = 0;
}
int main(void) {
	int arr[10] = { 0,1,2,3,4,5,6,7,8,9 };

	for (int i = 0; i < 10; i++) {
		zero_array(&arr[i]);
		printf("%3d", arr[i]);
	}
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

  0  0  0  0  0  0  0  0  0  0
  • 16๋ฒˆ ๋ฌธ์ œ

key๊ฐ’์„ ์ž…๋ ฅ๋ฐ›์•„ key๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ฐฐ์—ด์˜ index๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜ ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int find_array(int* arr, int key) {
	for (int i = 0; i < 10; i++) {
		if (arr[i] == key) {
			// ๋ฐฐ์—ด์€ 0๋ฒˆ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ +1
			return i + 1;
		}
	}
	return -1;
}
int main(void) {
	int arr[10] = { 23,45,62,12,99,83,23,50,72,37 };
	int key;

	for (int i = 0; i < 10; i++) {
		printf("%4d", arr[i]);
	}
	printf("\n์ฐพ์„ ๊ฐ’? ");
	scanf_s("%d", &key);

	printf("%d๋Š” %d๋ฒˆ์งธ ์›์†Œ์ž…๋‹ˆ๋‹ค.\n", key, find_array(arr, key));
	
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

  23  45  62  12  99  83  23  50  72  37
์ฐพ์„ ๊ฐ’? 12
12๋Š” 4๋ฒˆ์งธ ์›์†Œ์ž…๋‹ˆ๋‹ค.
  • 17๋ฒˆ ๋ฌธ์ œ

์›์†Œ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๋Š” ํฌ๊ธฐ๊ฐ€ 10์ธ ๋ฐฐ์—ด์„ ์ฑ„์›Œ๋„ฃ๊ณ  ๊ฐ’์„ ์ถ”๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค ์ €์žฅ๋œ ๊ฐ’๋“ค์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	int arr[10];

	// ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž๋ฅผ ๋ฐฐ์—ด์— ์ €์žฅ
	for (int i = 0; i < 10; i++) {
		printf("๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์›์†Œ? ");
		scanf_s("%d", &arr[i]);
		// ํ˜„์žฌ๊นŒ์ง€ ์ž…๋ ฅ๋œ ๋ฐฐ์—ด์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅ
		for (int j = 0; j <= i; j++) {
			printf("%4d", arr[j]);
		}
		printf("\n");
	}
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์›์†Œ? 10
  10
๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์›์†Œ? 20
  10  20
๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์›์†Œ? 10
  10  20  10
๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์›์†Œ? 30
  10  20  10  30
๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์›์†Œ?....
  • 18๋ฒˆ ๋ฌธ์ œ

17๋ฒˆ ๋ฌธ์ œ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋ณ€๊ฒฝํ•ด ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ํ”„๋กœ๊ทธ๋žจ

#include<stdio.h>
int main(void) {
	int arr[10];
	int overlap = 0;

	// ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž๋ฅผ ๋ฐฐ์—ด์— ์ €์žฅ
	for (int i = 0; i < 10; i++) {
		printf("๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์›์†Œ? ");
		scanf_s("%d", &arr[i]);
		for (int n = 0; n < i; n++) {
			// ๋ฐฐ์—ด์— ๊ฐ™์€ ์ˆซ์ž๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ
			if (arr[n] == arr[i]) {
				printf("\nํ•ด๋‹น ์›์†Œ๊ฐ€ ์ด๋ฏธ [%d]์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.\n", n);
				i--;
			}
		}
		// ํ˜„์žฌ๊นŒ์ง€ ์ž…๋ ฅ๋œ ๋ฐฐ์—ด์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅ
		for (int j = 0; j <= i; j++) {
			printf("%4d", arr[j]);
		}
		printf("\n");
	}
	return 0;
}
[์‹คํ–‰ ๊ฒฐ๊ณผ]

๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์›์†Œ? 10
  10
๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์›์†Œ? 20
  10  20
๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์›์†Œ? 10

ํ•ด๋‹น ์›์†Œ๊ฐ€ ์ด๋ฏธ [0]์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
  10  20
๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์›์†Œ? ....
โš ๏ธ **GitHub.com Fallback** โš ๏ธ