Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++

  1. C++로 3차원 공간의 네 점이 동일 평면 위에 있는지 확인하는 프로그램

    3차원 공간상의 네 점 (x1, y1, z1), (x2, y2, z2), (x3, y3, z3), (x4, y4, z4)가 주어졌을 때, 이 점들이 모두 같은 평면 위에 놓여 있는지, 즉 공면(coplanar)인지 판별하는 것이 이 글의 목표입니다. 네 절점이 하나의 평면 안에 모두 포함되면 공면이라고 하며, 서로 다른 평면들에 걸쳐 있다면 공면이 아니라고 합니다. 아래 첫 번째 이미지는 네 점이 모두 xy 평면 위에 위치한 경우입니다. 이처럼 모든 점이 한 평면에 있으면 공면입니다. 두 번째 이미지는 네 점이 서로 다른 평면에

  2. 소수점 이하 n자리까지 나눗셈 결과를 계산하는 C++ 프로그램

    양의 정수 x와 y, 그리고 소수점 이하 자릿수를 의미하는 n이 주어졌을 때, 두 수의 나눗셈 결과를 소수점 n자리까지 정확하게 계산해 출력하는 프로그램을 만들어 보겠습니다.예시입력: x = 36, y = 7, n = 5출력: 5.14285입력: x = 22, y = 7, n = 10출력: 3.1428571428부동소수점 자료형(float, double)은 표현 가능한 유효 숫자에 한계가 있기 때문에, 요구하는 자릿수가 길어지면 오차가 발생할 수 있습니다. 따라서 정수 연산만으로 나머지를 반복적으로 처리하는 방식이 더 안정적입니다.

  3. sin(x)와 cos(x) 값을 계산하는 C++ 프로그램 – 급수 전개로 직접 구현하기

    각도가 입력값으로 주어졌을 때, 해당 각도에 대응하는 sin(x)와 cos(x)의 값을 계산하여 결과를 출력하는 것이 이번 예제의 목표입니다. 여기서는 단순히 math.h의 sin(), cos() 함수에 의존하는 것이 아니라, 급수 전개를 이용해 값을 직접 계산하는 방법을 살펴보겠습니다. sin(x)란? sin(x)는 가장 기본적인 삼각 함수 중 하나로, 주어진 각도에 대한 사인 값을 계산하는 데 사용됩니다. 수학적으로는 다음과 같은 매클로린 급수(Maclaurin series) 전개로 표현할 수 있습니다. 공식 $$\sin (

  4. C++로 시간을 분과 초로 변환하는 방법 – 코드 예제와 알고리즘

    이 글에서는 시간(hour)을 입력받아 이를 분(minute)과 초(second)로 변환한 뒤 결과를 출력하는 C++ 프로그램을 다룹니다.변환 공식시간을 분과 초로 변환할 때 사용하는 기본 공식은 다음과 같습니다.1시간 = 60분분 = 시간 × 601시간 = 3600초초 = 시간 × 3600입력 및 출력 예시입력: hours = 3출력: 3시간은 분으로 180분      3시간은 초로 10800초입력: hours = 5출력: 5시간은 분으로 300분   

  5. C++로 구현하는 삼각형 패턴 프로그램 (0 기준 미러 이미지 출력)

    양의 정수 n이 주어졌을 때, 숫자들이 0을 중심으로 좌우 대칭(미러 이미지) 형태로 배치된 삼각형 패턴을 생성하고 그 결과를 화면에 출력하는 프로그램을 만들어 보겠습니다.예시입력 -: n = 6 출력 -:입력 -: n = 3 출력 -:프로그램에 적용된 접근 방식n의 값을 양의 정수로 입력받습니다.패턴의 행(row) 개수만큼 첫 번째 반복문 i를 순회합니다.패턴에 들어갈 공백의 개수만큼 두 번째 반복문 j를 순회합니다.패턴에 출력될 숫자들을 처리하기 위한 세 번째 반복문을 순회합니다.알고리즘 main() 함수에서 int n

  6. C++로 숫자의 홀수 약수 합 구하기: 알고리즘과 완전한 예제 코드

    양의 정수가 주어졌을 때, 그 숫자의 홀수 약수를 모두 찾아 합을 구하는 것이 이번 문제의 목표입니다. 예를 들어 20의 약수는 1, 2, 4, 5, 10, 20이고, 이 가운데 홀수인 약수는 1과 5뿐이므로 홀수 약수의 합은 6이 됩니다.예제입력: number = 20 출력: 홀수 약수의 합은 6 입력: number = 18 출력: 홀수 약수의 합은 1318의 경우 약수는 1, 2, 3, 6, 9, 18이며, 그중 홀수 약수는 1, 3, 9입니다. 따라서 결과 = 1 + 3 + 9 = 13이 됩니다.접근 방식이 문제의 핵심은 소

  7. C++로 구현하는 운영체제 교착 상태(Deadlock) 방지 최소 자원 계산 프로그램

    메모리에 존재하는 P개의 프로세스와 각 프로세스가 실행을 완료하기 위해 필요한 N개의 자원이 주어졌을 때, 교착 상태(deadlock)가 절대 발생하지 않도록 하기 위해 프로세스에 할당해야 하는 최소 자원의 개수 R을 구하는 것이 이 글의 목표입니다.교착 상태(Deadlock)란?교착 상태란 운영체제에서 여러 프로세스가 메모리에 상주하고 있음에도 불구하고, 프로그램 실행에 필요한 자원을 다른 프로세스가 점유하고 있고 그 프로세스 역시 또 다른 자원을 기다리고 있는 상황 때문에 어느 프로세스도 실행을 진행하지 못하는 상태를 말합니다.

  8. 계급구간 산술평균을 구하는 C++ 프로그램

    하한값 배열, 상한값 배열, 그리고 도수(빈도) 배열 세 가지가 주어졌을 때, 해당 계급구간들의 산술평균을 계산하는 것이 이번 글의 목표입니다.산술평균이란?산술평균은 자료 집합에 속한 모든 값의 합을 전체 데이터 개수로 나누어 구하는 대푯값으로, 흔히 평균이라고 부르는 값입니다.계급구간 산술평균 계산 방법먼저 각 계급의 하한값, 상한값, 도수가 다음과 같이 주어져 있다고 가정합니다.하한상한도수121342563784각 계급의 중간값인 계급값(m)은 상한과 하한을 더한 후 2로 나누어 구합니다. 그다음 계급값에 해당 계급의 도수를 곱합

  9. C++로 혼합물 교체 후 남은 우유의 양 구하기

    이 튜토리얼에서는 혼합물을 반복적으로 교체한 후 남은 우유의 양을 계산하는 프로그램을 다뤄보겠습니다.문제 설명용기에 X리터의 우유가 들어 있다고 가정해 봅시다. 여기서 Y리터의 우유를 꺼내고, 같은 양인 Y리터의 물을 채워 넣습니다. 이 과정을 총 Z번 반복한다면, 최종적으로 용기 안에 남아 있는 우유의 양은 얼마일까요?접근 방법반복되는 연산 사이의 규칙성을 분석하면, Z번의 교체 작업 후 남은 우유의 양은 아래 공식으로 구할 수 있습니다.남은 우유의 양 = ((X − Y) / X)Z × X즉, 매번 전체 부피 중 우유가 차지하는

  10. C++로 삼각형 내접원(내원)의 반지름 구하기

    이 튜토리얼에서는 주어진 삼각형의 내접원(내원) 반지름을 구하는 C++ 프로그램을 살펴보겠습니다.여기서는 삼각형의 세 변의 길이가 입력으로 주어지며, 우리의 목표는 해당 삼각형 안에 그려진 내접원의 반지름을 계산하는 것입니다.내접원 반지름 공식내접원의 반지름은 아래 공식으로 구할 수 있습니다.반지름 = 삼각형의 넓이 ÷ 삼각형의 반둘레여기서 반둘레(semi-perimeter)란 세 변의 길이를 모두 더한 값의 절반을 의미하며, 삼각형의 넓이는 세 변의 길이만으로 넓이를 구할 수 있는 헤론의 공식(Herons Formula)을 활용해

  11. C++로 연속된 두 해의 복리 이자에서 이자율(%) 구하는 프로그램

    이 튜토리얼에서는 연속된 두 해의 복리 이자 금액만으로 이자율(%)을 계산하는 C++ 프로그램을 다룹니다.문제 조건은 다음과 같습니다. 두 개의 정수 A와 B가 주어지며, 각각 연속된 두 해의 복리 이자 금액을 나타냅니다. 우리의 목표는 이 두 값만을 이용해 해당 이자율을 구하는 것입니다.공식 유도복리 이자는 매년 원금에 일정한 이자율 r이 반영되어 늘어납니다. 따라서 연속된 두 해의 이자 금액 N1과 N2 사이에는 N2 = N1 × (1 + r / 100) 관계가 성립합니다.주어진 두 값 사이의 관계를 정리하고 원금 항을 소거하면

  12. C++로 정사각형에 내접하는 최대 팔각형의 변의 길이 구하기

    개요 이번 글에서는 주어진 정사각형 안에 내접하는 팔각형의 변의 길이를 구하는 C++ 프로그램을 살펴보겠습니다. 정사각형의 한 변의 길이가 입력으로 주어지며, 목표는 그 정사각형 안에 그릴 수 있는 가장 큰 팔각형의 변의 길이를 계산하는 것입니다. 공식 유도 정사각형의 네 꼭짓점을 대칭적으로 잘라내면 정팔각형을 만들 수 있습니다. 이때 잘려나가는 각 부분은 이등변 직각삼각형이 되는데, 이 기하학적 관계를 정리하면 정사각형의 변(a)과 팔각형의 변(s) 사이에 다음과 같은 관계가 성립합니다. s = a / (√2 + 1)

  13. C++로 세 개의 숫자 중 가장 작은 값(최솟값) 찾는 방법

    이 튜토리얼에서는 주어진 세 개의 요소 중 가장 작은 값을 찾는 C++ 프로그램을 살펴보겠습니다.세 개의 정수가 주어졌을 때, 이 값들을 서로 비교하여 그중 가장 작은 정수를 출력하는 것이 우리의 목표입니다. 이는 프로그래밍 초보자가 조건문과 비교 연산자를 익히기에 아주 좋은 기본 예제입니다.예제 코드#include <bits/stdc++.h> using namespace std; int main() { int a = 45, b = 72, c = 10; if (a <= b && a <

  14. C++로 행렬의 각 행과 열의 합 구하기: 초보자를 위한 완벽 가이드

    행렬의 행 합과 열 합 계산이란?이 튜토리얼에서는 주어진 행렬(matrix)에서 각 행의 합과 각 열의 합을 구하는 C++ 프로그램을 다룹니다.예를 들어 A*B 크기의 행렬이 주어졌을 때, 우리가 해야 할 일은 행렬의 모든 요소를 순회하면서 각 행별 합계와 각 열별 합계를 차례로 계산하는 것입니다.해결 접근 방법가장 기본적이고 직관적인 방법은 이중 반복문(nested loop)을 활용하는 것입니다.행 합계: 바깥쪽 반복문이 행 인덱스를 고정하고, 안쪽 반복문이 해당 행의 모든 열 요소를 더합니다. 한 행의 합계를 출력한 뒤에는 누적

  15. C++로 수열의 합 구하기: (1×1) + (2×2) + (3×3) + … + (n×n)

    이 튜토리얼에서는 주어진 수열 (1×1) + (2×2) + (3×3) + (4×4) + (5×5) + … + (n×n)의 합을 구하는 C++ 프로그램을 살펴봅니다. 이 문제에서는 n값이 입력으로 주어지며, 첫 번째 항부터 마지막 항(n번째 항)까지 차례대로 더해서 전체 수열의 합을 계산하는 것이 목표입니다. 예제 코드 #include <iostream> using namespace std; // 수열의 합을 계산하는 함수 int calc_sum(int n) {    int i;    i

  16. C++로 급수의 합 구하기: 1/a + 2/a² + 3/a³ + … + n/aⁿ

    이 튜토리얼에서는 주어진 급수 1/a + 2/a² + 3/a³ + … + n/aⁿ의 합을 구하는 C++ 프로그램을 다뤄보겠습니다.이 문제에서는 a와 n의 값이 주어지며, 첫 번째 항부터 n번째 항까지 각 항을 순서대로 모두 더하여 급수의 전체 합을 계산하는 것이 목표입니다.접근 방법급수의 일반항은 i/aⁱ 형태입니다. 따라서 다음과 같은 절차로 합을 구할 수 있습니다.1. 반복문을 사용해 i를 1부터 n까지 증가시킵니다.2. C++의 pow() 함수를 이용해 aⁱ 값을 계산합니다.3. 각 항 i / aⁱ를 변수 sum에 누적하여 더

  17. C++로 급수의 합 구하기: 1/1! + 2/2! + 3/3! + … + n/n!

    이 튜토리얼에서는 주어진 급수 1/1! + 2/2! + 3/3! + 4/4! + … + n/n!의 합을 구하는 C++ 프로그램을 다룹니다.n 값이 주어지면, 첫 번째 항부터 n번째 항까지 차례대로 모두 더해 전체 합을 계산하는 것이 목표입니다.접근 방법각 항은 i / i! 형태로 이루어져 있습니다. 따라서 반복문으로 1부터 n까지 순회하면서 매번 팩토리얼(i!)을 누적으로 계산하고, 그 값을 분모로 하여 i를 나눈 뒤 합계에 더해주면 됩니다.예제 코드#include <iostream>using namespace std;/

  18. C++로 수열의 합 구하기: 23+45+75+… N항까지

    이 튜토리얼에서는 주어진 수열 23+45+75+……의 N번째 항까지의 합을 구하는 C++ 프로그램에 대해 살펴보겠습니다. 프로그램은 N값을 입력받아 첫 번째 항부터 N번째 항까지 모든 항을 차례대로 더해 수열의 전체 합을 계산하는 것이 목표입니다. 이 문제를 수학적으로 분석하면 다음과 같은 수열의 합 공식을 도출할 수 있습니다. Sn = (2n(n+1)(4n+17)+54n) / 6 이 공식을 활용하면 반복문 없이도 상수 시간(O(1)) 안에 수열의 합을 바로 계산할 수 있어, N이 매우 큰 경우에도 효율적으로 동작한다는 장점이 있습

  19. C++로 시리즈 1 + 1/2² + 1/3³ + … + 1/nⁿ의 합 구하기

    이 튜토리얼에서는 주어진 시리즈 1 + 1/2² + 1/3³ + … + 1/nⁿ의 합을 구하는 C++ 프로그램을 살펴보겠습니다.이 문제에서는 n 값이 입력으로 주어지며, 첫 번째 항부터 n번째 항까지 모든 항을 차례대로 더해 시리즈의 전체 합을 계산하는 것이 목표입니다.접근 방법시리즈의 각 항은 1/ii 형태로 일반화할 수 있습니다. 따라서 반복문으로 i를 1부터 n까지 증가시키면서 각 항을 계산하고 누적 합계에 더하면 됩니다.i번째 항 = 1 / iiC++의 pow() 함수를 사용하면 거듭제곱 값을 손쉽게 계산할 수 있습니다.반복

  20. C++로 이해하는 객체 지향 프로그래밍(OOP) 핵심 기본 개념

    객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 객체와 클래스를 기반으로 프로그램을 구성하는 프로그래밍 패러다임입니다. 상속, 다형성, 데이터 은닉과 같은 현실 세계의 개념을 소프트웨어 설계에 반영하며, 데이터와 그 데이터를 처리하는 함수를 하나의 단위로 묶어 외부의 무분별한 접근을 제한하는 것을 목표로 합니다. 객체 지향 프로그래밍의 핵심 개념 클래스(Class) 객체(Object) 캡슐화(Encapsulation) 다형성(Polymorphism) 상속(Inheritance) 추상화(Abstr

Total 5981 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:94/300  20-컴퓨터/Page Goto:1 88 89 90 91 92 93 94 95 96 97 98 99 100