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