Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 25.05.2018
Сообщений: 43
1

Локальная переменная или функция с именем "ran" уже определена в этой области

19.11.2019, 14:27. Просмотров 1356. Ответов 13

Заданы массивы А1(6), А2(7), А3(4), А4(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
class Program
    {
        static void Main(string[] args)
        {
            int i;
                int[] A1 = new int[6];
                Random ran = new Random();
                Console.WriteLine("Исходный массив A1", A1);
 
           
                int[] A2 = new int[7];
                Random ran = new Random();
                Console.WriteLine("Исходный массив A2", A2);
           
                int[] A3 = new int[4];
                Random ran = new Random();
                Console.WriteLine("Исходный массив A3", A3);
            
                int[] A4 = new int[6];
                Random ran = new Random();
                Console.WriteLine("Исходный массив A4",A4);
            
 
        }
    }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2019, 14:27
Ответы с готовыми решениями:

Ошибка "Функция-член уже определена или объявлена"
Здравствуйте! Делаю класс для работы с векторами (Vector3) При попытке скомпилировать почти для...

Сообщение об ошибке "функция-член уже определена"
Вот код #include <iostream> using namespace std; class Matrix { private: int **Array;...

Ошибка - "Функция _main уже определена"
#include <iostream> #include <string> using namespace std; void check_weekday(string day) { if...

Функция PTinqpoint() и ошибка "Использована неинициализированная локальная переменная"
Добрый день, возникает проблема с реализацией функции. Документация по ней: PTinqpoint int32...

13
Грамотный. Безпорно.
16860 / 9756 / 1880
Регистрация: 27.09.2012
Сообщений: 24,171
Записей в блоге: 2
19.11.2019, 14:29 2
Цитата Сообщение от Aderia Посмотреть сообщение
не знаю как исправить
Обозвать переменные разными именами.
2
Модератор
7698 / 5415 / 1550
Регистрация: 21.04.2018
Сообщений: 15,968
Записей в блоге: 2
19.11.2019, 14:40 3
Aderia, ГСЧ рекомендуется делаеть один экземпляр на тип.
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
class Program
    {
        static readonly Random ran = new Random();
        static void Main(string[] args)
        {
            int i;
                int[] A1 = new int[6];
            //    Random ran = new Random();
                Console.WriteLine("Исходный массив A1", A1);
 
           
                int[] A2 = new int[7];
          //      Random ran = new Random();
                Console.WriteLine("Исходный массив A2", A2);
           
                int[] A3 = new int[4];
        //        Random ran = new Random();
                Console.WriteLine("Исходный массив A3", A3);
            
                int[] A4 = new int[6];
        //        Random ran = new Random();
                Console.WriteLine("Исходный массив A4",A4);
            
 
        }
    }
1
1 / 1 / 0
Регистрация: 25.05.2018
Сообщений: 43
19.11.2019, 14:41  [ТС] 4
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
 static void Main(string[] args)
        {
            static void A1()
            {
                int[] A1 = new int[6];
                Random ran = new Random();
                Console.WriteLine("Исходный массив A1");
            }
            static void A2()
            {
                int[] A2 = new int[7];
                Random ran = new Random();
                Console.WriteLine("Исходный массив A2");
            }
            static void A3()
            {
                int[] A3 = new int[4];
                Random ran = new Random();
                Console.WriteLine("Исходный массив A3");
            }
            static void A4()
            {
                int[] A4 = new int[6];
                Random ran = new Random();
                Console.WriteLine("Исходный массив A4");
            }
        }
    }
0
Миниатюры
Локальная переменная или функция с именем "ran" уже определена в этой области  
1 / 1 / 0
Регистрация: 25.05.2018
Сообщений: 43
19.11.2019, 14:43  [ТС] 5
Элд Хасп, Так не вывести массив
0
Модератор
7698 / 5415 / 1550
Регистрация: 21.04.2018
Сообщений: 15,968
Записей в блоге: 2
19.11.2019, 14:46 6
Aderia, вы не можете вот метода объявлять методы с модификаторами.
Я же вам дал код!
1
1 / 1 / 0
Регистрация: 25.05.2018
Сообщений: 43
19.11.2019, 14:49  [ТС] 7
Цитата Сообщение от Элд Хасп Посмотреть сообщение
вы не можете вот метода объявлять методы с модификаторами.
А можно объяснить для самых маленьких и тупых? C# изучаю дня 3
0
Миниатюры
Локальная переменная или функция с именем "ran" уже определена в этой области  
1 / 1 / 0
Регистрация: 25.05.2018
Сообщений: 43
19.11.2019, 14:58  [ТС] 8
Так тоже не идет
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 static void Main(string[] args)
        {
           
                int[] A1 = new int[6];
                Random ran = new Random();
                Console.WriteLine("Исходный массив A1",A1);
            
                int[] A2 = new int[7];
                Random ran1 = new Random();
                Console.WriteLine("Исходный массив A2",A2);
            
                int[] A3 = new int[4];
                Random ran2 = new Random();
                Console.WriteLine("Исходный массив A3",A3);
            
                int[] A4 = new int[6];
                Random ran3 = new Random();
                Console.WriteLine("Исходный массив A4",A4);
            
        }
И так
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
static void Main(string[] args)
        {
            static void A1()
            {
                int[] A1 = new int[6];
                Random ran = new Random();
                Console.WriteLine("Исходный массив A1", A1);
            }
            static void A2()
            {
                int[] A2 = new int[7];
                Random ran1 = new Random();
                Console.WriteLine("Исходный массив A2", A2);
            }
            static void A3()
            {
                int[] A3 = new int[4];
                Random ran2 = new Random();
                Console.WriteLine("Исходный массив A3", A3);
            }
            static void A4()
            {
                int[] A4 = new int[6];
                Random ran3 = new Random();
                Console.WriteLine("Исходный массив A4", A4);
            }
        }
0
2462 / 1789 / 926
Регистрация: 14.08.2016
Сообщений: 6,185
19.11.2019, 14:58 9
C#
1
Console.WriteLine($"Исходный массив A1: {string.Join(" ",A1)}");
только массив заполнить надо
1
1 / 1 / 0
Регистрация: 25.05.2018
Сообщений: 43
19.11.2019, 15:06  [ТС] 10
Спасибо, благодаря вам разобралась)
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
 static void Main(string[] args)
        {
            int i;
            int[] A1 = new int[6];
            Random ran = new Random();
            for (i = 0; i < 6; i++)
            {
                A1[i] = ran.Next(1, 99);
                Console.Write(" " + A1[i]);
            }
 
            
            int[] A2 = new int[7];
            Random ran1 = new Random();
            for (i = 0; i < 7; i++)
            {
                A2[i] = ran.Next(1, 99);
                Console.Write(" " + A2[i]);
            }
 
            int[] A3 = new int[4];
            Random ran2 = new Random();
            for (i = 0; i <4; i++)
            {
                A3[i] = ran.Next(1, 99);
                Console.Write(" " + A3[i]);
            }
 
            int[] A4 = new int[6];
            Random ran3 = new Random();
            for (i = 0; i < 6; i++)
            {
                A4[i] = ran.Next(1, 99);
                Console.Write(" " + A4[i]);
            }
 
        }
0
Грамотный. Безпорно.
16860 / 9756 / 1880
Регистрация: 27.09.2012
Сообщений: 24,171
Записей в блоге: 2
19.11.2019, 15:08 11
Цитата Сообщение от Aderia Посмотреть сообщение
благодаря вам разобралась
Видимо, не совсем. Уберите ran1, ran2, ran3, Вы их не используете.
1
1 / 1 / 0
Регистрация: 25.05.2018
Сообщений: 43
19.11.2019, 15:19  [ТС] 12
По другому код не компилится
0
Модератор
7698 / 5415 / 1550
Регистрация: 21.04.2018
Сообщений: 15,968
Записей в блоге: 2
19.11.2019, 15:42 13
Aderia, ещё раз пишу!
ГМЧ должен быть один на тип!
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
       static readonly ran = new Random();
       static void Main(string[] args)
        {
            int i;
            int[] A1 = new int[6];
           // Random ran = new Random();
            for (i = 0; i < 6; i++)
            {
                A1[i] = ran.Next(1, 99);
                Console.Write(" " + A1[i]);
            }
 
            
            int[] A2 = new int[7];
        //    Random ran1 = new Random();
            for (i = 0; i < 7; i++)
            {
                A2[i] = ran.Next(1, 99);
                Console.Write(" " + A2[i]);
            }
 
            int[] A3 = new int[4];
       //     Random ran2 = new Random();
            for (i = 0; i <4; i++)
            {
                A3[i] = ran.Next(1, 99);
                Console.Write(" " + A3[i]);
            }
 
            int[] A4 = new int[6];
        //    Random ran3 = new Random();
            for (i = 0; i < 6; i++)
            {
                A4[i] = ran.Next(1, 99);
                Console.Write(" " + A4[i]);
            }
 
        }
1
Модератор
Эксперт .NET
5396 / 4545 / 2896
Регистрация: 20.04.2015
Сообщений: 8,202
19.11.2019, 15:45 14
Лучший ответ Сообщение было отмечено Aderia как решение

Решение

Aderia,

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
using System;
 
namespace Araray
{
    class Program
    {
        static Random ran = new Random();
        static void Main(string[] args)
        {
            int[] A1 = new int[6];
            int[] A2 = new int[7];
            int[] A3 = new int[4];
            SetArray(A1);
            SetArray(A2);
            SetArray(A3);
            Console.Write("Массив 1: ");
            PrintArray(A1);
            Console.Write("Массив 2: ");
            PrintArray(A2);
            Console.Write("Массив 3: ");
            PrintArray(A3);
            int min1, min2, min3, max;
            min1 = MinPositive(A1);
            max = min1;
            min2 = MinPositive(A2);
            if(min2>max) max = min2;
            min3 = MinPositive(A3);
            if (min3 > max) max = min3;
            Console.WriteLine("Минимумы из положительных: {0}, {1}, {2}", min1, min2, min3);
            Console.WriteLine("Максимум из них {0}", max);
            Console.ReadKey();
        }
 
        static void SetArray(int[] A)
        {
            for(int i=0; i<A.Length; i++)
                A[i] = ran.Next(-20, 21); //максимально возможное значение = 20
        }
 
        static void PrintArray(int[] A)
        {
            for (int i = 0; i < A.Length; i++)
                Console.Write(A[i] + " ");
            Console.WriteLine();
        }
 
        static int MinPositive(int[] A)
        {
            int min = 20; //максимально возможное значение в массиве
            for (int i = 1; i < A.Length; i++)
                if (min > A[i] && A[i] > 0)
                    min = A[i];
            return min;
        }
    }
}
Было скучно, набросал вот. Только не знаю, что делать, если в массиве положительных элементов не окажется.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2019, 15:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Выдает ошибку "использована неинициализированная локальная переменная "flag" " и с переменной "sum_check" та же проблема
//func.cpp #include&lt;iostream&gt; using namespace std; #include &quot;func.h&quot; //Функция, которая...

Выдается ошибка использована неинициализированная локальная переменная "H" и "V"
#include&lt;conio.h&gt; #include&lt;iostream&gt; using namespace std; int main(){ double S,T,H,U;...

"Использована неинициализированная локальная переменная" при работе с указателем
использована неинициализированная локальная переменная ukaz !!!! Прошу посмотрите на функцию...

Доброго времени. Ошибка использована не инициализированная локальная переменная "x"
#include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; void...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.