1111

공기훈·2021년 11월 11일
0

기초프로그래밍

목록 보기
8/9

Q1

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main() {
    srand(time(NULL));
    int arr[10];
    int i = 0;
    while (1) {
        arr[i] = rand() % 101;
        int flag = 0;
        for (int j = 0;j < i;j++) {
            if (arr[j] == arr[i]) flag = 1;
        }
        if (flag == 0) i++;
        if (i > 9) break;
    }
    for (int i = 0;i < 10;i++) {
        printf("%d ", arr[i]);
    }
    int max = arr[0];
    int min = arr[0];
    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최소값 : %d", max,min);
    return 0;
}

Q2

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>

#define SIZE 3

int main(void)
{
	srand(time(NULL));
	int arr_a[SIZE][SIZE], arr_b[SIZE][SIZE], arr_plus[SIZE][SIZE], arr_mul[SIZE][SIZE];

	printf("%c %21c\n", 'A', 'B');
	for (int i = 0; i < SIZE; ++i)
	{
		for (int j = 0; j < SIZE; ++j)
		{
			arr_a[i][j] = rand() % 9 + 1;
			arr_b[i][j] = rand() % 9 + 1;
		}
	}

	for (int i = 0; i < SIZE; ++i)
	{
		for (int j = 0; j < SIZE; ++j)
			printf("%7d", arr_a[i][j]);
		for (int j = 0; j < SIZE; ++j)
			printf("%7d", arr_b[i][j]);

		printf("\n");
	}

	printf("A + B\n");

	for (int i = 0; i < SIZE; ++i)
	{
		for (int j = 0; j < SIZE; ++j)
		{
			arr_plus[i][j] = arr_a[i][j] + arr_b[i][j];
			printf("%7d", arr_plus[i][j]);
		}
		printf("\n");
	}
	printf("A X B\n");

	for (int i = 0; i < SIZE; ++i)
	{
		for (int j = 0; j < SIZE; ++j)
		{
			arr_mul[i][j] = arr_a[i][0] * arr_b[0][j] + arr_a[i][1] * arr_b[1][j] + arr_a[i][2] * arr_b[2][j];
			printf("%7d", arr_mul[i][j]);
		}
		printf("\n");
	}
	
}

Q3

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>

#define SIZE 4

int main(void)
{
	srand(time(NULL));
	int arr[SIZE][SIZE];

	for (int i = 0; i < SIZE - 1; ++i)
	{
		for (int j = 0; j < SIZE - 1; ++j)
			arr[i][j] = rand() % 9 + 1;
	}

	for (int i = 0; i < SIZE; ++i)
	{
		for (int j = 0; j < SIZE; ++j)
		{
			if (i == 3 && j != 3)
				arr[3][j] = arr[0][j] + arr[1][j] + arr[2][j];
			else if (i != 3 && j == 3)
				arr[i][3] = arr[i][0] + arr[i][1] + arr[i][2];
			else if (i == 3 && j == 3)
				arr[3][3] = arr[0][0] + arr[1][1] + arr[2][2];
		}
	}
	for (int i = 0; i < SIZE; ++i)
	{
		for (int j = 0; j < SIZE; ++j)
			printf("%7d", arr[i][j]);
		printf("\n");
	}
	return 0;
	
}

Q4

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>

#define SIZE 10

int main(void)
{
	srand(time(NULL));
	int arr[SIZE][SIZE];
	int count = 0, row = 0, col = -1, op = 1, len = SIZE;
	
	while (1)
	{
		for (int i = 0; i < len; ++i)
		{
			col += op;
			arr[row][col] = ++count;
		}
		if (--len == 0)
			break;
		for (int i = 0; i < len; ++i)
		{
			row += op;
			arr[row][col] = ++count;
		}
		op = -op;
	}


	for (int i = 0; i < SIZE; ++i)
	{
		for (int j = 0; j < SIZE; ++j)
		{
			printf("%3d", arr[i][j]);
		}
		printf("\n");
	}
	return 0;
		
}

Q5

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>

#define SIZE 3

int main(void)
{
	srand(time(NULL));
	int arr[SIZE][SIZE];

	for (int i = 0; i < 3; ++i)
	{
		for (int j = 0; j < 3; ++j)
		{
			arr[i][j] = rand() % 9 + 1;
			printf("%7d", arr[i][j]);
		}
		printf("\n");
	}
	int direction = 0;
	printf("종료(0), 왼쪽(1), 오른쪽(2)\n");
	scanf("%d", &direction);

	if (direction == 1)
	{
		for (int i = 2; i >= 0; --i)
		{
			for (int j = 0; j < 3; ++j)
				printf("%7d", arr[j][i]);
			printf("\n");
		}
	}
	else if (direction == 2)
	{
		for (int i = 0; i < 3; ++i)
		{
			for (int j = 2; j >= 0; --j)
				printf("%7d", arr[j][i]);
			printf("\n");
		}
	}
	else
		return 0;

	
	return 0;
	
}

profile
be a coding master

0개의 댓글