Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

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

1 задача, не поверишь, мне ответ выдала первая ссылка в яндексе. И даже код на С#.
__________________
Талепатор можно не включать. Работаю только в Делфи... хотя уже, ещё и в C.
UPD: ещё и в Java xD
В каждом из нас спит гений, и с каждым днём всё крепче
Artsiom вне форума   Ответить с цитированием
Старый 31.03.2015, 00:41   #3
Мадлен
Пользователь
 
Регистрация: 30.03.2015
Сообщений: 21
Репутация: 10
По умолчанию

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

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

Примерно так (здесь две задачи, первая в 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(); 
}

}

challengerr вне форума   Ответить с цитированием
Старый 31.03.2015, 22:41   #6
Мадлен
Пользователь
 
Регистрация: 30.03.2015
Сообщений: 21
Репутация: 10
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


00:31.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru