Recent Posts
printf("ho_tari\n");
4주차 과제 본문
#include<stdio.h>
int main(void)
{
char A[11];
char temp;
printf(“입력: ”);
for(int i = 0; i<10; i++)
{
scanf(“%c”, &A[i]);
getchar();
printf(“\n”);
}
for(int j = 0; j<5; j++)
{
temp = A[j];
A[j] = A[9-j];
A[9-j] = temp;
}
A[10] = ‘\0’;
printf(“출력: ”);
puts(A);
printf(“\n”);
return 0;
}
<결과>
#include<stdio.h>
int sort_num(int* a, int* b, int* c)
{
int bst, smt;
bst = *a > *b ? *a : *b;
bst = bst > *c ? bst : *c;
smt = *a < *b ? *a : *b;
smt = smt < *c ? smt : *c;
if ((*b >= *a && *c <= *a) || (*b <= *a && *c >= *a))
{
*b = *a;
}
if ((*a >= *b && *c <= *b) || (*a <= *b && *c >= *b))
{
*b = *b;
}
else *b = *c;
*c = bst;
*a = smt;
return 0;
}
int main(void)
{
int i, j, k;
printf("i 입력 : ");
scanf_s("%d", &i);
printf("j 입력 : ");
scanf_s("%d", &j);
printf("k 입력 : ");
scanf_s("%d", &k);
sort_num(&i, &j, &k);
printf("세수 : %d %d %d",i,j,k);
return 0;
}
<결과>
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define N 5
int arrsum(int* p)
{
int sum = 0;
for (int i = 0; i < 5; i++)
{
sum += *p;
p++;
}
return sum;
}
int arrmul(int* p)
{
printf("3배한값 : ");
for (int i = 0; i < 5; i++)
{
*(p + i) = 3 * *(p+i);
printf("%d ", p[i]);
}
return 0;
}
int main(void)
{
int a[N];
int i, * p;
printf("배열에 입력할 정수 입력 : ");
for (i = 0; i < 5; i++)
{
scanf("%d", &a[i]);
}
p = a;
printf("배열의 합 : %d\n", arrsum(p));
arrmul(p);
return 0;
}
<결과>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int s[10][10]; //10*10합
int c[10]; // 열
int r[10]; // 행
int sum = 0, c_sum = 0, r_sum = 0, cross_sum = 0;
srand(time(NULL)); // 난수 생성
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
s[i][j] = 1 + rand() % 10;
sum = sum + s[i][j];
printf("s[%d][%d]=%d ", i, j, s[i][j]);
}
printf("\n");
}
printf("\n총합 : %d\n\n", sum);
for (int i = 0; i < 10; i++)
{
r_sum = 0;
for (int j = 0; j < 10; j++)
{
r_sum = r_sum + s[i][j];
}
r[i] = r_sum;
printf("r[%d] = %d ", i, r_sum);
}
printf("\n");
for (int j = 0; j < 10; j++)
{
c_sum = 0;
for (int i = 0; i < 10; i++)
{
c_sum = c_sum + s[i][j];
}
c[j] = c_sum;
printf("c[%d] = %d ", j, c_sum);
}
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (i == j)
cross_sum = cross_sum + s[i][j];
}
}
printf("\n\n대각선의 합 : %d\n\n", cross_sum);
return 0;
}
<결과>
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void main()
{
int** array;
int** array2;
int** array3;
int temp[255];
int temp2[255];
int temp3[255][255];
int r1 = 0;
int r2 = 0;
int n;
int i, j, k = 0;
printf(“n x n 배열의 n값을 입력하시오: ”);
scanf(“%d”, &n);
printf(“First Matrix: \n”);
array = (int**)malloc(sizeof(int*)*n);
array[0] = (int*)malloc(sizeof(int*)*n*n);
for(i=0;i<n;i++)
{
array[i] = array[0] + n*i;
}
srand((unsigned)time(NULL));
for(i=0;i<n;i++)
{
temp[i] = 0;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
do
{
r1 = rand()%(n*n/2);
temp[r1] += 1;
if(temp[r1] == 2)
{
break;
}
}while(temp[r1]>2);
array[i][j] = r1 + 1;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf(“%10d”, array[i][j]);
}
printf(“\n”);
}
printf(“Second Matrix: \n”);
array2 = (int**)malloc(sizeof(int*)*n);
array2[0] = (int*)malloc(sizeof(int)*n*n);
for(i=0;i<n;i++)
{
array2[i] = array2[0] + n*i;
}
srand((unsigned)time(NULL));
for(i=0;i<n*n/2;i++)
{
temp2[i] = 0;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
do
{
r2 = rand()%(n*n/2);
temp2[r2] = += 1;
if(temp2[r2] == 2)
{
break;
}
}while(temp[r2] > 2);
array2[i][j] = r2 +1;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf(“%10d”, array2[i][j]);
}
printf(“\n”);
}
printf(“Result Matrix: \n”);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
temp3[i][j] = 0;
for(k=0;k<n;k++)
{
temp3[i][j] += array[i][k] * array[k][j];
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf(“%10d”, temp3[i][j]);
}
printf(“\n”);
}
}
<결과>
'대학교 2학년 1학기 > 데이터구조' 카테고리의 다른 글
3주차 과제 (0) | 2023.09.04 |
---|---|
2주차 과제 (0) | 2023.09.04 |
1주차 과제 (0) | 2023.09.04 |
과제 - 원형 연결리스트 구현 (0) | 2023.09.04 |
과제 - 단순 연결리스트 구현 (0) | 2023.09.04 |