Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/75: Рейтинг темы: голосов - 75, средняя оценка - 4.60
49 / 49 / 3
Регистрация: 15.11.2009
Сообщений: 372

Повторное выполнение программы

06.12.2009, 16:52. Показов 15620. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, у меня такая проблема : есть код
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System;
class project
{
 
    public static void revers(int[,] c, int n, int m, int a)
    {
        int i, k;
        for (i = 0; i < (n / 2); i++)
        {
            k = c[i, a - 1];
            c[i, a - 1] = c[n - i - 1, a - 1];
            c[n - i - 1, a - 1] = k;
        }
 
    }
    //Пользователем забиваются элементы матрицы
    public static void schit(int[,] c, int n, int m)
    {
        int i, j;
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < m; j++)
            {
                Console.Write("\nВведите элемент матрицы [{0},{1}]: ", i + 1, j + 1);
                c[i, j] = int.Parse(Console.ReadLine());
            }
        }
    }
    public static void schit1(int[] e, int n)
    {
        int i;
        for (i = 0; i < n; i++)
 
            e[i] = int.Parse(Console.ReadLine());
 
 
    }
 
    //Вывод исходной матрицы
    public static void vivod(int[,] c, int n, int m)
    {
        int i, j;
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < m; j++)
                Console.Write("{0,3:d} ", c[i, j]);
            Console.WriteLine();
        }
    }
 
    public static void Main()
    {
        Console.Title = "Переворот в матрице заданного столбца";
        Console.BackgroundColor = ConsoleColor.DarkBlue;
        Console.ForegroundColor = ConsoleColor.White;
    Repeat:
 
        Console.Clear();
 
        int n, m, k;
        ConsoleKeyInfo rep;
        Console.Write("Введите количество строк: ");
        n = int.Parse(Console.ReadLine());
        Console.Write("\nВведите количество столбцов: ");
        m = int.Parse(Console.ReadLine());
        Console.Write("\nВведите номер столбца, который вы хотите перевернуть: ");
        k = int.Parse(Console.ReadLine());
 
        int[,] a = new int[n, m];
        schit(a, n, m);
 
        Console.WriteLine("\nИсходная матрица: \n");
        vivod(a, n, m);
        revers(a, n, m, k);
        Console.WriteLine();
        Console.WriteLine("Получившаяся: \n");
        vivod(a, n, m);
 
        Console.WriteLine("\nДля повтора нажмите Y, для выхода N");
        rep = Console.ReadKey(true);
        if (rep.Key == ConsoleKey.Y) goto Repeat;
        if (rep.Key == ConsoleKey.N) return;
    }
}
и я хотел бы сделать так, чтобы при вводе слова "Yes" программа запускалась заново, а при вводе "No" программа закрывалась, вместо простого ввода "Y" и "N"
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.12.2009, 16:52
Ответы с готовыми решениями:

Приостановить выполнение программы пока не сработает таймер n раз
Имеется вот такой обработчик события Tick: private void tmr_Tick(object sender, EventArgs e) { if (kol...

Выполнение произвольного кода при инсталяции программы средствами VS2008
1)необходимо произвести запись в реестр при установке программы; 2)выполнить при установке произвольный код.

Запрос MySQL: выполнение программы останавливается на myCommand.ExecuteNonQuery()
void InsertRow() { MySqlCommand myCommand = new MySqlCommand(); MySqlTransaction myTrans; if (Connection.Register.State...

9
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
06.12.2009, 17:42
C#
1
2
3
4
Console.WriteLine("\nДля повтора наберите Yes, для выхода No");
        string rep = Console.ReadLine();
        if (rep == "Yes") goto Repeat;
        if (rep == "No") return;
А эту строку убери:
C#
1
ConsoleKeyInfo rep;
0
49 / 49 / 3
Регистрация: 15.11.2009
Сообщений: 372
06.12.2009, 17:59  [ТС]
можете ещё объяснить
1) для чего метод schit1 , если в главной части программы на него ссылки нет и без него программа не запускается
2)почему, для вывода исходной и преобразованной матрицы здесь вызывается только один метод vivod(a, n, m);
3)почему для печати и перестановки матрицы и элементов, ссылки на методы записываются так
vivod(a, n, m); revers(a, n, m, k); schit(a, n, m);
вместо
vivod(с, n, m); revers(с, n, m, k); schit(с, n, m);
???
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
06.12.2009, 18:19
Цитата Сообщение от Helios1.618 Посмотреть сообщение
1)
schit1 - это метод для заполнения одномерного массива;
Цитата Сообщение от Helios1.618 Посмотреть сообщение
2)
А больше и не нужно - вы передаете в метод матрицу, а он ее только выводит на экран.
Цитата Сообщение от Helios1.618 Посмотреть сообщение
3)
Это переменные, которые используются внутри метода и как они объявлены внутри метода не имеет значения. Главное, чтобы в метод передавались переменные в той последовательности, в какой они используются в методе. Иначе программа будет или неправильно считать, или вообще работать откажется.
0
49 / 49 / 3
Регистрация: 15.11.2009
Сообщений: 372
06.12.2009, 18:28  [ТС]
а что означает переменная "а" ?

Добавлено через 2 минуты
Цитата Сообщение от kirill29 Посмотреть сообщение
schit1 - это метод для заполнения одномерного массива;
но ведь в главной части программы нет ссылки на этот метод, то как он используется ?
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
06.12.2009, 18:36
а - это двумерный массив.

Цитата Сообщение от Helios1.618 Посмотреть сообщение
но ведь в главной части программы нет ссылки на этот метод, то как он используется ?
Никак - удалите его и все.

PS: эта программа вами написана?
0
49 / 49 / 3
Регистрация: 15.11.2009
Сообщений: 372
06.12.2009, 18:50  [ТС]
но ведь "а" объявлена как простая переменная
C#
1
int a
а "с" объявлена как двумерный массив
C#
1
int[,] c
и до сих пор не понятно, почиму ссылка на метод пишется так -
C#
1
revers(a, n, m, k);
, а метод так
C#
1
public static void revers(int[,] c, int n, int m, int a)
ведь переменные насколько я понимаю в ссылке и в методе должны быть одинаковыми

Добавлено через 29 секунд
я написал только часть программы
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
06.12.2009, 18:59
Цитата Сообщение от Helios1.618 Посмотреть сообщение
revers(a, n, m, k);
Попробуйте поменять местами а и n, и посмотрите что будет.
Когда вы пишете метод, вы указываете переменные, которыми он должен оперировать:
C#
1
public static void revers(int[,] c, int n, int m, int a)
И когда вызываете метод, то в качестве параметров указываете какие-то переменные, которые должны передаться в метод. При этом не имеет значения какие имена у этих переменных в разных методах.
C#
1
revers(a, n, m, k);
PS: интересно, как можно создать приложение и не понимать, как оно работает?
0
49 / 49 / 3
Регистрация: 15.11.2009
Сообщений: 372
06.12.2009, 19:36  [ТС]
я писал только интерфейс, повтор и печать

Добавлено через 26 минут
kirill29,
можете посоветовать другой способ , для того чтобы перевернуть столбец ?
0
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
07.12.2009, 02:34
Цитата Сообщение от kirill29 Посмотреть сообщение
C#
1
2
3
4
Console.WriteLine("\nДля повтора наберите Yes, для выхода No");
        string rep = Console.ReadLine();
        if (rep == "Yes") goto Repeat;
        if (rep == "No") return;
мне кажется с goto - немного некрасиво
Не лучше оформить в метод и после опроса Yes/No запускать его или заканчивать программу?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.12.2009, 02:34
Помогаю со студенческими работами здесь

Выполнение серверной exe-программы на стороне клиента
Здравствуйте. Мне нужно реализовать выполнение десктопного приложения, которое хранится на сервере, на стороне клиента. То есть не...

Выполнение программы
Я использую библиотеку MahApps. Там есть контрол прогресс ринг. Так вот, его можно включать и выключать. У меня есть форма для ввода логина...

Странное выполнение программы
Здравствуйте. Написал приложение для отрисовки графиков на WPF. Есть список точек (values), хочу сделать так, чтобы график рисовался не...

Остановить выполнение программы до определенного момента
подкажите кто-нить, как можно на время (точнее, пока юзер не нажмет на кнопку в отдельном эл.упр-я) остановить выполнение программы, т.е....

Предусмотреть повторное выполнение программы используя циклический оператор
Не получается сделать повторное выполнение программы, нужно к примеру при нажатии на клавишу повторить весь цикл с начала Код...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru