Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static int GetFloatsCount(float[] arrayToSearch, float[] rangeStart, float[] rangeEnd, int startIndex, int count)
- {
- // #4. Implement the method using "do..while" statements.
- if (arrayToSearch is null)
- {
- throw new ArgumentNullException(nameof(arrayToSearch));
- }
- if (rangeStart is null)
- {
- throw new ArgumentNullException(nameof(rangeStart));
- }
- if (rangeEnd is null)
- {
- throw new ArgumentNullException(nameof(rangeEnd));
- }
- if (rangeStart.Length != rangeEnd.Length)
- {
- throw new ArgumentException("Number of elenents in rangeStart not equal number of elements in rangeEnd", nameof(rangeStart));
- }
- if (startIndex < 0)
- {
- throw new ArgumentOutOfRangeException(nameof(startIndex));
- }
- if (count < 0)
- {
- throw new ArgumentOutOfRangeException(nameof(count));
- }
- if (startIndex > arrayToSearch.Length)
- {
- throw new ArgumentException("rangeStart greater then length of arrayToSearch", nameof(startIndex));
- }
- if (count > arrayToSearch.Length)
- {
- throw new ArgumentException("count greater then length of arrayToSearch", nameof(count));
- }
- if (startIndex + count > arrayToSearch.Length)
- {
- throw new ArgumentException("rangeStart + count greater then length of arrayToSearch", nameof(startIndex));
- }
- for (int i = 0; i < rangeStart.Length; i++)
- {
- if (rangeStart[i] > rangeEnd[i])
- {
- throw new ArgumentException("rangeStart greater then rangeEnd", nameof(rangeStart));
- }
- }
- int j = 0;
- for (int i = 0; i < rangeStart.Length; i++)
- {
- for (int k = startIndex; k < startIndex + count; k++)
- {
- if (arrayToSearch[k] >= rangeStart[i] && arrayToSearch[k] <= rangeEnd[i])
- {
- j++;
- }
- }
- }
- return j;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement