C#/문제 해결

배열 안의 최대값 구하기

Bueong_E 2023. 1. 9. 12:10
반응형
SMALL

내가 짠 코드

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study07
{
    class App
    {
        //생성자
        public App()
        {
            //최대값 구하기
            int[] arrs = { 20, 10, 35, 30, 7 };
          
            for (int i =0; i <= arrs.Length; i++)
            {
                if (arrs[i] < arrs[i+1])
                    Console.WriteLine(arrs[i + 1]);
                             
            }                          
            //출력
            //35
        }
    }
}

이렇게 하면 최대값은 나오지만 if문을 한번 더 돌때 인덱스 범위가 벗어나 버린다.

 

해결 - arrs 배열의 첫번째 값을 변수에 지정해주고 해당 변수와 비교한뒤 최대값이 나오면 해당 변수로 넣어줌

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study07
{
    class App
    {
        //생성자
        public App()
        {
            //최대값 구하기
            int[] arrs = { 20, 10, 35, 30, 7 };
            int test = arrs[0];

            for (int i =0; i < arrs.Length; i++)
            {
                
                if (arrs[i] > test)
                {
                    test = arrs[i];
                    Console.WriteLine(test);                    
                }
                                              
            }                          
            //출력
            //35
        }
    }

최소값 구하기 for문 밖으로 변수 출력시키기

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study07
{
    class App
    {
        //생성자
        public App()
        {
            //최대값 구하기
            int[] arrs = { 20, 10, 35, 30, 7 };
            int test = arrs[0];

            for (int i =0; i < arrs.Length; i++)
            {
                
                if (arrs[i] < test)
                {
                    test = arrs[i];
                                       
                }
                                              
            }
            Console.WriteLine(test);
            //출력
            //35
        }
    }
}
반응형
LIST