Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2017, 12:22   #1
Жека123456
Новичок
Джуниор
 
Регистрация: 19.04.2017
Сообщений: 5
По умолчанию Не удается неявно преобразовать тип "int" в "int[]"

Не давно начал изучать C#, генератор случайных не повторяющих чиселот 1 до 9, вот решил написать такой код и столкнулся проблемой, Не удается неявно преобразовать тип "int" в "int[]". Подскажите, что тут не так или как можно оформить эту часть кода иначе....

Код:
using System;
using System.Collections.Generic;
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; *
namespace ConsoleApplication1 
{ * * 
class Program * *
{ * *  * * 
static int Proverka(int[] a, List<int> b) * * * * 
{ * * * * * * 
int[] m = new int[9]; * * * * * *
Random Reg = new Random(); * * * * * * 
int value; * * * * * * 
for (int i = 0; i < a.Length; i++) * * * 
{ * * * * * * * *
value = Reg.Next(1, 10); * * * * * * * * 
for (int o = 0; o < b.Count; o++) * * * 
{ * * * * * * * * * * 
if (value == b[o])
{ 
return Proverka(a, b);
} * * * * * * * *
} * * * * * * * *
a[i]=value; *
m[i]=a[i]; * 
b.Add(a[i]); * * * * *  * * * * * * 
} * 
return m; * * * 
} * * * * * 
static void Main(int[] args) * * * *
{ * * * * * * 
int[] massivA = new int[9]; * * * * * * 
List<int> Registrator = new List<int>() { }; * * * * * *
	int[] d = Proverka(massivA,Registrator); * * * * * *
foreach (int i in massivA) 
{ 
Console.Write(i); 
} * * * * * * 
Console.ReadKey(); * * * * 
} * * * * 
} * * * 
}

Последний раз редактировалось Аватар; 19.04.2017 в 12:27.
Жека123456 вне форума Ответить с цитированием
Старый 19.04.2017, 12:41   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
static int Proverka(int[] a, List<int> b)
{
int[] m = new int[9];
...
return m;
}
Не видите несопадения между описанным возвращаемым значением и тем, что реально возвращаете?
p51x вне форума Ответить с цитированием
Старый 19.04.2017, 13:07   #3
Жека123456
Новичок
Джуниор
 
Регистрация: 19.04.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
static int Proverka(int[] a, List<int> b)
{
int[] m = new int[9];
...
return m;
}
Не видите несопадения между описанным возвращаемым значением и тем, что реально возвращаете?
Вижу я пробывал вернуть массив вот таким способом , не знаю насколь правильно return int[]m, компилятор выдал ошибку связанную с интом, других способо объявления массива через ретерн я не нашел

Последний раз редактировалось Жека123456; 19.04.2017 в 13:11.
Жека123456 вне форума Ответить с цитированием
Старый 19.04.2017, 13:12   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
static int Proverka
что должна вернуть эта функция (что ЗДЕСЬ написано, какой тип результата) ?
Цитата:
return m;
и что мы ПЫТАЕМСЯ вернуть (каков тип переменной m) ?
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 19.04.2017, 13:12   #5
hoolygan
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 64
По умолчанию

вот так пробуйте
Код:
static int[] Proverka
hoolygan вне форума Ответить с цитированием
Старый 19.04.2017, 13:51   #6
Жека123456
Новичок
Джуниор
 
Регистрация: 19.04.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
что должна вернуть эта функция (что ЗДЕСЬ написано, какой тип результата) ?

и что мы ПЫТАЕМСЯ вернуть (каков тип переменной m) ?
Согласен код выглядит не много запутанным изначально , он бы не много проще

static int Proverka(int[] a, List<int> b)
{

Random Reg = new Random();
int value;
for (int i = 0; i < a.Length; i++)
{
value = Reg.Next(1, 10);
for (int o = 0; o < b.Count; o++)
{
if (value == b[o])
{
return Proverka(a, b);
}
} *
a[i]=value;
*
b.Add(a[i]);
} *
return a;
}
Без дополнильных массивов таких как m потом , но с выводом а, но ошибка оствалась таже, потом я где то на формухах, что мол у кого то получалось путем создания дополнит массива внутри функции, вернуть результат , но в итоги этот метод тоже не помог....
Суть функции создания рандомных неповторящих чисел с дальнейшей инициализацией в массив.....алгоритм такой создаю рандомное число от1 до 9 проверяю с уже существующими элементами массивами потом вывожу результат функции в мейн там спомощью форейча проверяю как прошла иницилизация ячеек массива

P.S. пишу с телефона , заранее извиняюсь за доп. ошибки

Последний раз редактировалось Жека123456; 19.04.2017 в 14:03.
Жека123456 вне форума Ответить с цитированием
Старый 19.04.2017, 14:10   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

если мы ХОТИМ возвращать массив, то так и надо писать int [] Proverka;

а если мы ХОТИМ возвращать одно число, то и ВОЗВРАЩАТЬ(указывать в качестве аргумента return надо переменную типа int[]

Аргумент возврата ДОЛЖЕН иметь ТОЧНО такой же тип какой указан в заголовке.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 19.04.2017, 14:14   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что за странные ****** в коде?)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.04.2017, 16:42   #9
Жека123456
Новичок
Джуниор
 
Регистрация: 19.04.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
если мы ХОТИМ возвращать массив, то так и надо писать int [] Proverka;

а если мы ХОТИМ возвращать одно число, то и ВОЗВРАЩАТЬ(указывать в качестве аргумента return надо переменную типа int[]

Аргумент возврата ДОЛЖЕН иметь ТОЧНО такой же тип какой указан в заголовке.
Спасибо, большое вы мне очень помогли
Жека123456 вне форума Ответить с цитированием
Старый 19.04.2017, 16:46   #10
Жека123456
Новичок
Джуниор
 
Регистрация: 19.04.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Что за странные ****** в коде?)
Копировал код с андроид -компилятора (с телефона) потом досмотрел появились эти *
Жека123456 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
error C2664: PrintArray: невозможно преобразовать параметр 1 из "int **" в "const int **" revizor Помощь студентам 6 07.05.2013 14:07
Неявное преобразование типа "string" в "int" невозможно artscorp C# (си шарп) 4 10.02.2013 20:59
Какова разница между "int** &a" и "int** a" в кач-ве параметра функции? dollemika Помощь студентам 3 15.01.2012 17:16
C++, препроцессор, как из "int" сделать "char"? Максай Помощь студентам 3 05.09.2008 08:16