С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 1
Регистрация: 07.02.2018
Сообщений: 42

Вывод данных матрицы, потоковый вывод и ввод

18.02.2019, 19:58. Показов 1009. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я переделываю код с С++ на С# и столкнулась с определенными трудностями.
У меня в С++ был потоковый вывод и ввод, теперь мне необходимо перевести все это на С#
В файле С++ у меня выводилось несколько матриц
Как именно мне это реализовать в С#??
И каким именно элементом воспользоваться ?? Куда лучше выводить эти матрицы в листбокс ?? или есть какая то альтернатива ??
Прилагаю код программы на С++ и свои наработки на С#
подскажи как сделать, для меня эта тема вообще темный лес никогда не сталкивалась с потоковыми выводами в С#
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
57
void f(int t, int n, int cell[])
{
    static int count = 0;
   for (int i = 0, j; i < n; i++)
      for(j = 0; j < t; j++)
         if (cell[j] == i)
            break;
         else if (abs(t - j) == abs(i - cell[j]))
            break;
         else if(j == t - 1){
            cell[t] = i;
            if (t != n - 1)
               f(t + 1, n, cell);
            else{
               count++;
               for (int k = 0; k < n; k++){
                  for (int s = 0; s < n; s++)
                     if(cell[k] == s)
                        chess<<"x ";
                     else chess<<"o ";
                  chess<<"\t";
                  for (int s = n - 1; cell[0] <= (int) n / 2 && s >= 0; s--)
                     if(cell[k] == s)
                        chess<<"x ";
                     else chess<<"o ";
                  chess<<endl;
               }
               chess<<endl;
            }
         }
}
 
int main(){
    setlocale(LC_ALL,"");
    int n;
    static int count = 0;
    cout<<"Введите размерность n = ";
    cin >> n;
    int *cell = new int [n];
    for (int i = 0; i < n; i++)
        cell[i] = n;
    chess.open("Chess.txt");
    chess<<"Выбрана шахматная доска "<<n<<"x"<<n<<endl<<endl;
    for(int i = 0; i < (int) n/2; i++){
        cell[0] = i;
        f(1, n, cell);
    }
    count *= 2;
    if(n%2!=0){
        cell[0] = (int) n/2;
        f(1, n, cell);
    }
    chess<<"Количество вариантов = "<< count<<endl;
    chess.close();
    system("Chess.txt");
    return 0;
}

ВОТ НАЧАЛО МОЕГО КОДА НА С#
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
57
58
59
60
61
62
63
64
65
66
namespace WindowsFormsApplication1
{
 
    public partial class Form1 : Form
    {    static int count = 0;
        public Form1()
        {
            InitializeComponent();
        }
        void f(int t, int n, int [] cell)
        {
            for (int i = 0, j; i < n; i++)
                for (j = 0; j < t; j++)
                    if (cell[j] == i)
                        break;
                    else if (Math.Abs(t - j) == Math.Abs(i - cell[j]))
                        break;
                    else if (j == t - 1)
                    {
                        cell[t] = i;
                        if (t != n - 1)
                            f(t + 1, n, cell);
                        else
                        {
                            count++;
                            for (int k = 0; k < n; k++)
                            {
                                for (int s = 0; s < n; s++)
                                    if (cell[k] == s)
                                        chess << "x ";
                                    else chess << "o ";
                             
                                for (int s = n - 1; cell[0] <= (int)n / 2 && s >= 0; s--)
                                    if (cell[k] == s)
                                        chess << "x ";
                                    else chess << "o ";
                                chess << endl;
                            }
                            chess << endl;
                        }
                    }
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            int n=Convert.ToInt32(textBox1.Text);
 
            int [] cell = new int[n];
            for (int i = 0; i < n; i++)
                cell[i] = n;
 
            for (int i = 0; i < (int)n / 2; i++)
            {
                cell[0] = i;
                f(1, n, cell);
            }
            count *= 2;
            if (n % 2 != 0)
            {
                cell[0] = (int)n / 2;
                f(1, n, cell);
            }
           
        }
    }
}
как вы видите там почти вся функция на с++ и я не понимаю как ее переделать подскажите
ДЛЯ меня это очень важно
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.02.2019, 19:58
Ответы с готовыми решениями:

Потоковый ввод и вывод.
Доброго всем времени суток! Столкнулся с тем фактом, что данный код работает только с методом flush(), хотя поток не буферизированный...

Потоковый ввод-вывод
Написать программу, которая будет добавлять в текстовый файл введенную с клавиатуры информацию Следует предусмотреть возможность выбора...

Потоковый ввод и вывод
Я создаю файл с названием &quot;1.txt&quot;, но он не показывается в Source files, только в папке проекта. Как исправить? #include...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2019, 19:58
Помогаю со студенческими работами здесь

Потоковый ввод/вывод
Напишите программу, к-я по желанию пользователя вычисляет сумму ряда: А) N членов заданного ряда Б) с заданной погрешностью eps. ...

Потоковый ввод/вывод
#include &lt;iostream&gt; #include &lt;stdio.h&gt; using namespace std; int main(int argc, char* argv) { FILE* in = fopen(&quot;xxx.txt&quot;,...

потоковый ввод - вывод
всем доброго времени суток. мне вот недавно задали написать программу которая реализует несколько процедур стандартной библиотеки...

Потоковый ввод / вывод файлов
Помогите пожайлуйста исправить ошибки в коде. В функции OemToChar пишет &quot;char*&quot; не совместим с параметром &quot;LPWSTR&quot; #include...

потоковый ввод и вывод строки С++
Ввести с клавиатуры строку символов. Вывести строку в обратном порядке на экран. В задаче использовать потоковый ввод и вывод строки


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru