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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2015, 23:01   #1
Мадлен
Пользователь
 
Регистрация: 30.03.2015
Сообщений: 21
Печаль Консоль. Си шарп.Помогите решить задачки , 1ая-комбинации цифр, 2ая -массив

1.Введено число. Вывести все возможные комбинации цифр данного числа.
2.. Написать метод вывода на экран двумерного массива произвольной размерности. В качестве параметров передавать массив и размерность.

Последний раз редактировалось Мадлен; 30.03.2015 в 23:14.
Мадлен вне форума Ответить с цитированием
Старый 30.03.2015, 23:31   #2
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

1 задача, не поверишь, мне ответ выдала первая ссылка в яндексе. И даже код на С#.
Artsiom вне форума Ответить с цитированием
Старый 30.03.2015, 23:41   #3
Мадлен
Пользователь
 
Регистрация: 30.03.2015
Сообщений: 21
По умолчанию

Да, но дело в том, что мне в одном консоле нужно уместить 15 задач, если я просто вставляю этот код, но получается путаница. Дело наверное в том, что я новичок и я явно чего-то не понимаю.
Мадлен вне форума Ответить с цитированием
Старый 31.03.2015, 06:51   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты вставь в функцию
Покажи как пытался.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.03.2015, 08:15   #5
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

Примерно так (здесь две задачи, первая в f1, вторая в f2)

Код:
//csc /out:C:\w\9.exe 9.cs

using System;

class e1 
{ 
string line;
int num;
int i;
int j;
int n;
int m;
int [,] a;

// Рекурсивная функция поиска перестановок элементов массива, заданной длины ln
// param - массив
// p - массив перестановки
// pi - индекс в массиве перестановки
// n - размер массива param
// ln - длина перестановки
// pos- позиция текущего элемента в массиве
// ost - остаток элементов для получения перестановки

void g2(int[] param, int[] p, int pi, int n, int ln, int pos, int ost)
{

if (ost < 1)
{

if (pi == ln)
{
int i1;
Console.Write( " " );
for(i1 = 0; i1 < pi; i1++)
Console.Write( p[i1] + " " );
Console.Write( "\n" );
}
return;
}

int i;
for( i = pos + 1; i < n; i++)
{
p[pi] = param[i];
g2(param, p, pi+1, n, ln, i, ost-1);
}
}

void f1()  
{
int el;
int i;
int j;
int len;
int [] b;
int [] c;

Console.WriteLine("f1"); 
string tmp1 = System.Console.ReadLine(); // первый ввод пропускается
tmp1 = System.Console.ReadLine();
len = tmp1.Length;
b = new int[len];
for(i=0; i < len; i++)
{
System.Int32.TryParse(tmp1.Substring(i, 1), out el);
b[i] = el;
}

for(i=0;i<n;i++) System.Console.Write(b[i] + " "); 

System.Console.Write("\n");

for( i = len; i > 0; i--)  // цикл по длине перестановки от len до 1
{
for( j = 0; j < len; j++) // цикл по начальному элементу, с которого начинает строиться перестановка
{
c = new int[len];
c[0] = b[j];
g2(b, c, 1, len, i, j, i-1);
}
}
}

void g1(int[,] param, int n, int m)
{
Console.WriteLine("g1");
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
string tmp1 = System.Console.ReadLine(); 
System.Int32.TryParse(tmp1, out param[i, j]); 
System.Console.WriteLine("param " + i + ", " + j + " " + param[i, j] );  
}
for(i=0;i<n;i++) 
{ 
for(j=0;j<m;j++) 
System.Console.Write(param[i, j] + " ");  
System.Console.Write("\n"); 
}
}

void f2() 
{
// я не знаю,  почему пропускает string tmp1 = System.Console.ReadLine(); в первый раз
System.Console.WriteLine("f2");
string tmp1 = System.Console.ReadLine(); // ввод числа 1
tmp1 = System.Console.ReadLine(); // ввод числа 1
System.Int32.TryParse(tmp1, out n); // преобразование строки в число
System.Console.WriteLine("n " + n); // вывод полученного числа
string tmp2 = System.Console.ReadLine(); // ввод числа 2
System.Int32.TryParse(tmp2, out m); // преобразование строки в число
System.Console.WriteLine("m " + m); // вывод полученного числа
a = new int[n, m]; // выделение памяти под двухмерный динамический массив
g1(a, n, m); // вызов функции и передача двухмерно массива и его размерностей в качестве параметров
}

void main()
{
num = Console.Read();
num = num - 0x30;
System.Console.WriteLine(num);
if (num == 1) 
f1();
else if (num == 2) 
f2();
}

static void Main()  
{
e1 c = new  e1();
c.main(); 
}

}
"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 вне форума Ответить с цитированием
Старый 31.03.2015, 21:41   #6
Мадлен
Пользователь
 
Регистрация: 30.03.2015
Сообщений: 21
По умолчанию

Огромное спасибо, буду разбираться
Мадлен вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачки Newum Помощь студентам 6 02.07.2009 14:12
Задачки на Паскале помогите пожалуйста решить 2 задачки, а то отчислят. плиз VADOS2009-1 Помощь студентам 0 03.06.2009 18:11
помогите решить 2 задачки! zaq2000 Паскаль, Turbo Pascal, PascalABC.NET 5 17.12.2008 18:19
Помогите решить 2 задачки на С++ KnDmPetr Фриланс 3 11.03.2008 00:15