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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2014, 15:54   #1
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию Вопрос по указателям

Есть рекурсивная функция на С++

Код:
int blabla(int *a)
{
   int i = ?
   ...
   blabla(a + i);
}
Как переделать вызов функции если передается не указатель, а массив?
Код переделываю с С++ на С#

Код:
int blabla(int[] a)
{
    ....
    blabla(???);
}
Praud вне форума Ответить с цитированием
Старый 13.10.2014, 16:11   #2
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

У вас этот код
Код:
int blabla(int *a)
{
   int i = ?
   ...
   blabla(a + i);
}
не работает? На вид вроде бы правильно передается.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 13.10.2014, 16:13   #3
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Этот работает, но в С++. Мне нужно из С++ переделать в С#.
В C# не умею работать с указателями. Включил небезопасный код

Код:
unsafe {
           int* a;
            for(int i = 0; i < N; i ++)
                a[i] = rand.Next(1,11);
}
Такая инициализация не работает...
Praud вне форума Ответить с цитированием
Старый 13.10.2014, 18:36   #4
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Ребятки, срочно нужна помощь
Praud вне форума Ответить с цитированием
Старый 13.10.2014, 19:30   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Зачем указатели, если можно передать массив или его копию:
Код:
using System;

namespace ддд
{
	class MainClass
	{
		public static void bla(int[] a,int i){
			Console.Write (a [i]);
			if(i<a.GetLength(0)-1) bla(a,i+1);  
		}
		public static void Main (string[] args)
		{
			int[] a = { 1, 2, 3, 4, 5 };
			bla (a, 0);
			Console.ReadKey ();

		}
	}
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос от чайника по указателям Homa_1983 Общие вопросы C/C++ 3 14.09.2012 09:05
Вопрос по указателям airorfo Общие вопросы C/C++ 2 11.01.2012 11:15
Вопрос по указателям. Freewill Общие вопросы C/C++ 8 16.03.2011 18:54
Вопрос по указателям fs444 Общие вопросы C/C++ 5 17.08.2010 00:08
вопрос по указателям Juffin Общие вопросы Delphi 2 24.11.2009 20:03