# 9์ฅ Programming ํ์ด
370p_1๋ฒ)
#include <stdio.h>
int get_array_sum(int* A, int size)
{
int sum = 0;
for (int i = 0; i < size; i++)
{
sum += A[i];
}
return sum;
}
int main()
{
int data[10] = { 1,2,3,4,5,6,7,8,9 };
int *p;
p = data;
printf("print_array()\n");
for (int k = 0; k < 10; k++)
{
printf("%d ", data[k]);
}
printf("\n๋ฐฐ์ด ์์์ ํฉ: %d\n", get_array_sum(data, 10));
return 0;
}
370p_2๋ฒ)
#include <stdio.h>
void inverse_array(int* a, int size)
{
printf("์ญ์: ");
for (int k = size - 1; k >= 0; k--)
{
printf("%d ", a[k]);
}
}
int main()
{
int array[5] = { 0 };
printf("5๊ฐ์ ์ ์๋ฅผ ์
๋ ฅํ์์ค: ");
scanf_s("%d %d %d %d %d", &array[0], &array[1], &array[2], &array[3], &array[4]);
inverse_array(array, 5);
return 0;
}
370p_3๋ฒ)
#include <stdio.h>
#include <math.h>
void q(int a, int b, int c, double* xplus, double* xminus)
{
double one = ((-b - sqrt(b * b - 4 * a * c)) / (2 * a));
double two = ((-b + sqrt(b * b - 4 * a * c)) / (2 * a));
*xplus = one;
*xminus = two;
printf("์ฒซ ๋ฒ์งธ ์ค๊ทผ: %.5lf\n", one);
printf("๋ ๋ฒ์งธ ์ค๊ทผ: %.5lf\n", two);
}
int main()
{
double xx1 = 0.0;
double xx2 = 0.0;
q(1, 0, -1, &xx1, &xx2);
return 0;
}
371p_4๋ฒ)
#include <stdio.h>
void get(double value, int* i_part, double* f_part)
{
printf("์ ๋ฌ๋ฐ์ ์ค์ = %lf\n", value);
*i_part = (int)value;
*f_part = value - *i_part;
}
int main()
{
double number = 3.14;
int i = 0;
double f = 0.0;
get(number, &i, &f);
printf("์ ์๋ถ = %d\n", i);
printf("์์๋ถ = %lf\n", f);
return 0;
}
371p_5๋ฒ)
#include <stdio.h>
#define WIDTH 3
#define HEIGHT 3
int plus[WIDTH * HEIGHT] = { 0 };
void brighten_image(int* p, int w, int h)
{
plus[w + WIDTH * h]++;
p[w + WIDTH * h] = plus[w + WIDTH * h];
}
void output_array(int* q)
{
for (int i = 0; i < (HEIGHT * WIDTH); i++)
{
if (i % 3 == 0 && i != 0)
{
printf("\n");
}
printf("%d ", q[i]);
}
}
int main()
{
int image[HEIGHT * WIDTH] = { 0 };
int x, y;
printf("=============== ๋ณ๊ฒฝ ์ ํฝ์
===============\n");
output_array(image);
while (1)
{
printf("\n๋ณ๊ฒฝํ ํฝ์
์ ์
๋ ฅํ์์ค(์ข
๋ฃ๋ '100'): ");
scanf_s("%d %d", &x, &y);
if (x == 100 && y == 100)
{
printf("\nํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค.\n");
break;
}
brighten_image(image, x, y);
printf("\n=============== ๋ณ๊ฒฝ ํ ํฝ์
===============\n");
output_array(image);
}
return 0;
}
372p_6๋ฒ)
#include <stdio.h>
#define WIDTH 3
#define HEIGHT 3
int plus[WIDTH * HEIGHT] = { 0 };
void brighten_image(int* p, int w, int h)
{
plus[w + WIDTH * h]++;
p[w + WIDTH * h] = plus[w + WIDTH * h];
}
void darken_image(int* p, int w, int h)
{
plus[w + WIDTH * h]--;
p[w + WIDTH * h] = plus[w + WIDTH * h];
}
void output_array(int* q)
{
for (int i = 0; i < (HEIGHT * WIDTH); i++)
{
if (i % 3 == 0 && i != 0)
{
printf("\n");
}
printf("%d ", q[i]);
}
}
int main()
{
int image[HEIGHT * WIDTH] = { 0 };
int x, y;
printf("=============== ๋ณ๊ฒฝ ์ ํฝ์
===============\n");
output_array(image);
while (1)
{
int choose = 0;
printf("\nํฝ์
์ ๋ฐ๊ธฐ ์กฐ์ ์ต์
์ ์ ํํ์์ค(๋ฐ๊ฒ: 1, ์ด๋ก๊ฒ: 2, ์ข
๋ฃ: 0): ");
scanf_s("%d", &choose);
if (choose == 0)
{
printf("\nํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค.\n");
break;
}
printf("\n๋ณ๊ฒฝํ ํฝ์
์ ์
๋ ฅํ์์ค(x,y): ");
scanf_s("%d %d", &x, &y);
if (choose == 1)
{
brighten_image(image, x, y);
}
else if (choose == 2)
{
darken_image(image, x, y);
}
printf("\n=============== ๋ณ๊ฒฝ ํ ํฝ์
===============\n");
output_array(image);
}
return 0;
}