Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
5 / 5 / 1
Регистрация: 26.02.2011
Сообщений: 52

индекс находился вне границ массива

04.07.2011, 15:49. Показов 2350. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте дорогие форумчане! Пишу код, выдаёт ошибку
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication32
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите вещественное число:");
            double R = double.Parse(Console.ReadLine());
            Console.WriteLine("Введите размер массива:");
            int n = int.Parse(Console.ReadLine());
            double[] massiv = new double[n];
            Random rnd = new Random();
            for (int i = 0; i < massiv.Length; i++)
            {
                massiv[i] = rnd.Next(0, 40);
                Console.WriteLine("mas [{0}]={1}",i,massiv[i]);
            }
            Console.ReadLine();
            double[] summa = new double[n];
            int index = 0;
            for (int p = 0; p < n; p++)
            {
                for (int t = 0; t < massiv.Length; t++)
                    
                    {
                    summa[p] = massiv[p] + massiv[t];
                        Console.WriteLine("summa[{0}] = {1}",p,summa[p]);
                        
                    }
            }
            List<int> a = new List<int>();
            double[] raznost = new double[0];
            foreach (int x in summa)
            {
                for (int w = 0; w < summa.Length; w++)
                {
                    raznost[w] = R - summa[x]; //индекс находился вне границ массива
                    
                }
              }
            Array.Sort<double>(raznost);
            for (int p = 0; p < n; p++)
            {
                for (int t = 0; t < massiv.Length; t++)
                {
                    if (raznost[0] == (massiv[p] + massiv[t]))
                    {
                        Console.WriteLine(Convert.ToString(p), Convert.ToString(t));
                    }
                   
                }
            }
           Console.ReadLine();
    
        }
    }
}
Задание звучит так: Дано вещественное число R и массив вещественных чисел. Найти два элемента массива, сумма которых наименее близка к данному числу. Помогите пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.07.2011, 15:49
Ответы с готовыми решениями:

Индекс находился вне границ массива
Всем доброго времени суток! Дали задание переписать из delphi в c# курсовой проект, но на задание дали всего 2 недели, при этом по c# было...

Индекс находился вне границ массива
Visual Studio // выписываем полином txtPoly.Text = &quot;ỹ = &quot; + Math.Round(C, 3); for (int i = 1; i &lt;= 3;...

Индекс находился вне границ массива
Индекс находился вне границ массива. Как исправить? Visual Studio говорит о проблеме в этой строке: b = int.Parse(temp); using System;...

6
 Аватар для WonderFlik
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
04.07.2011, 16:11
C#
1
double[] raznost = new double[0];
массив размерности 0 а тут raznost[w] = R - summa[x]; ты используешь его
0
5 / 5 / 1
Регистрация: 26.02.2011
Сообщений: 52
04.07.2011, 16:21  [ТС]
да я до этого что только не писал: и разные константы подставлял(100,300), и таким образом делал double[] raznost = new double[summa.Length]; всё равно такая ошибка выходит
0
 Аватар для WonderFlik
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
04.07.2011, 16:29
да тут ппц
C#
1
2
3
4
5
6
7
8
            foreach (int x in summa)    // foreach это проход по всем элементам массива то есть если summa = { 10 , 32 , 1 } 
            {
                for (int w = 0; w < summa.Length; w++)
                {
                    raznost[w] = R - summa[x]; // то вот тут ты берешь десятый тридцать первый и.т.д. элемент массива summa
                    
                }
              }
0
5 / 5 / 1
Регистрация: 26.02.2011
Сообщений: 52
04.07.2011, 17:37  [ТС]
Ну я в курсе, что за что отвечает. Вот только ошибку исправить не могу
0
 Аватар для WonderFlik
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
05.07.2011, 10:23
я же написал все вот вроде работает

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System.Linq;
using System.IO;
using System;
 
namespace ConsApp
{
    class Program
    {
        static void Main(string[] args)
        {
            double R = 30 ;
            int n = 10;
            Random rnd = new Random();
            int[] massiv = Enumerable.Repeat(0,n).Select(x => rnd.Next(0, 30)).ToArray();
            Console.Write("Массив: ");
            Console.WriteLine(string.Join("; ", massiv.Select(x => x.ToString())));
            var q = (massiv.Select((z, w) => massiv.Select((x, y) => new { q1 = y, q2 = w, q3 = y == w ? R : x + massiv[w] }).OrderByDescending(x => Math.Abs(x.q3 - R)).First())).OrderByDescending(x => Math.Abs(x.q3 - R)).First();
            Console.WriteLine("Элементы сумма которых найменее близка к {0}: {1}; {2};", R, massiv[q.q1], massiv[q.q2]);
            Console.ReadKey();
        }
    }
}
1
5 / 5 / 1
Регистрация: 26.02.2011
Сообщений: 52
05.07.2011, 14:23  [ТС]
Спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.07.2011, 14:23
Помогаю со студенческими работами здесь

Индекс находился вне границ массива
Здравствуйте! Прошу сразу не убивать - только начал пробовать и изучать С#. И вот в учебном пособии есть код, который у меня на...

Индекс находился вне границ массива
Здравствуйте! Прошу сразу не убивать - только начал изучать С#. И вот в учебном пособии есть код, который у меня на Microsoft...

Индекс находился вне границ массива
2 дня бьюсь с этой проблемой. Я явно указал размерность массива 2. Пробовал вывести через .Length, но программа выдает что индекс находился...

Индекс находился вне границ массива
Подскажите, в чем ошибка? Вот такая ошибка вылезает : System.IndexOutOfRangeException: &quot;Индекс находился вне границ массива.&quot; ...

Индекс находился вне границ массива
Не могу понять почему Индекс находился вне границ массива. (&quot;Index was outside the bounds of the array.&quot;) double k0 =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru