С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 14.06.2018
Сообщений: 1

Перевод с языка Pascal (Delphi) в C#

14.06.2018, 10:41. Показов 2427. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите перевести код с Pascal в C#, заранее большое спасибо)

1). Дана действительная матрица размера N*M, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением.

Pascal
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
const n=8;{количество строк}
       m=10;{количество столбцов}
Var a: array [1..n,1..m] of real;{данная матрица}
    i,j,k,l,v:integer;
    minj,maxi:real;
BEGIN
{заполнение матрицы произвольными положительными действительными числами от 0 до 99}
randomize;
For i:=1 to n do
 For j:=1 to m do
   a[i,j]:=random(100);
maxi:=-1;{так как все числа положительные (мы сами так заполнили)}
For i:=1 to n do begin
 minj:=a[i,1];{предположим что первый элемент каждой i-ой строки минимальный}
 For j:=2 to m do
  {сравниваем все остальные элементы строки с уже найденным минимальным}
  If a[i,j]<minj then begin{если он меньше уже найденного то}
                     minj:=a[i,j];{он минимальный}
                     v:=j;{сохраняем его номер столбца}
                    end;
{проверяем только что полученный элемент на максимум}
 If minj>maxi then begin{если верно то сохраняем его и его индексы}
                   k:=i;
                   l:=v;
                   maxi:=minj;
                 end;
end;
{Выводим искомый элемент и его индексы хоть в едите хоть в лабеле}
 
END.
2). Пусть дан файл целых чисел f. Определить, сколько раз в нем повторяется максимальное значение.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var f:file of integer;
    max,count,a:integer;
begin
assign(f,'myfile.txt');
reset(f);
max:=-MaxInt;
while not EOF(f) do
begin
   read(f,a);
   if (a>max) then max:=a;
end;
count:=0;
while not EOF(f) do
begin
   read(f,a);
   if (a=max) then inc(count);
end;
close(f);
writeln('count = ', count);
readln;
end.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2018, 10:41
Ответы с готовыми решениями:

Перевод с языка Pascal на C#: Заменить все члены, следующие за членом с наибольшим значением
Program n1; Uses Crt; var a: array of integer; k,m,i,j,s: integer; begin for i:=1 to 18 do begin for j:=1 to 12 do begin ...

Перевод с языка Pascal на C#: Заменить все члены, следующие за членом с наибольшим значением
Помогите,пожалуйста,кто-нибудь с программой. Надеюсь,что я все правильно делал в паскале,но как перевести в c#. Помогите люди добрые ...

Из языка Pascal надо преобразовать в C#
Из языка Pascal надо преjбразовать в C#: Код: uses GraphABC; type punctum = record // тип точка и 2 его поля - координаты...

2
171 / 92 / 71
Регистрация: 10.05.2014
Сообщений: 432
14.06.2018, 12:38
Лучший ответ Сообщение было отмечено Tim Kasymov как решение

Решение

Цитата Сообщение от Tim Kasymov Посмотреть сообщение
1). Дана действительная матрица размера N*M, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением.

Pascal
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
const n=8;{количество строк}
       m=10;{количество столбцов}
Var a: array [1..n,1..m] of real;{данная матрица}
    i,j,k,l,v:integer;
    minj,maxi:real;
BEGIN
{заполнение матрицы произвольными положительными действительными числами от 0 до 99}
randomize;
For i:=1 to n do
 For j:=1 to m do
   a[i,j]:=random(100);
maxi:=-1;{так как все числа положительные (мы сами так заполнили)}
For i:=1 to n do begin
 minj:=a[i,1];{предположим что первый элемент каждой i-ой строки минимальный}
 For j:=2 to m do
  {сравниваем все остальные элементы строки с уже найденным минимальным}
  If a[i,j]<minj then begin{если он меньше уже найденного то}
                     minj:=a[i,j];{он минимальный}
                     v:=j;{сохраняем его номер столбца}
                    end;
{проверяем только что полученный элемент на максимум}
 If minj>maxi then begin{если верно то сохраняем его и его индексы}
                   k:=i;
                   l:=v;
                   maxi:=minj;
                 end;
end;
{Выводим искомый элемент и его индексы хоть в едите хоть в лабеле}
 
END.
Алгоритм, конечно, интересный, но на шарпе не особо нужный, ибо есть Linq

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const int n = 8, m = 10;
var arr = new int[n][];
int k = 0, l = 0, v = 0;
double minj = 0, maxi = -1;
 
for (int i = 0; i < n; i++)
{
    arr[i] = new int[m];
    for (int j = 0; j < m; j++)
    arr[i][j] = new ThreadLocal<Random>(() => new Random(Guid.NewGuid()
        .GetHashCode())).Value.Next(100);
}
 
var res = arr
    .Select((x, i) => new
            {Value = x.Min(),IIndex = i,
            JIndex = arr[i].ToList().IndexOf(x.Min())}
            ).OrderByDescending(x=>x.Value).FirstOrDefault();
 
Console.WriteLine($"Max: {res.Value}\nIndex I: {res.IIndex}\nindex J: {res.JIndex}");
Console.ReadLine();
P.S. не забудь добавить пространства имен!
C#
1
2
3
using System.Collections.Generic;
using System.Linq;
using System.Threading;
1
 Аватар для andrey_f
883 / 536 / 228
Регистрация: 21.02.2011
Сообщений: 5,706
14.06.2018, 13:34
Цитата Сообщение от Tim Kasymov Посмотреть сообщение
Пусть дан файл целых чисел f. Определить, сколько раз в нем повторяется максимальное значение.
типовая задача
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
using System;
using System.IO;
 
   class Program
    {
        static void Main(string[] args)
        {
            int n = 10;
            StreamReader file2= new StreamReader("out1.txt");//считывание с файла
             int [] arr2=new int[n];
             for (int i = 0; i < n; i++)
                {
                    arr2[i] = int.Parse(file2.ReadLine());
            Console.WriteLine(arr2[i]);
        }
            int max = arr2[0];
        int count = 0;
            for (int i = 0; i < n; i++)
                {
                    if (max < arr2[i])
                    {
                        max = arr2[i];
                    }
                }
        for (int i = 0; i < n; i++)
        {
            if (max == arr2[i]) count++;
        }
        StreamWriter file3 = new StreamWriter("out2.txt");//запись в файл значений мин и макс 
        Console.WriteLine("\n Maximum element=" + max + " ," + count);
            file3.WriteLine("\n Maximum element=" + max + " ," + count);
            file3.Close();
        Console.ReadLine();
        }
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.06.2018, 13:34
Помогаю со студенческими работами здесь

Транслятор с подмножества языка Pascal
Добрый день! С подобным заданием столкнулся впервые и если честно, то вообще не понимаю на данный момент способ его реализации. Хотелось бы...

Перевод кода программы с языка C++ на C#
Здравствуйте! Можно ли перевести этот код с С++ на С#? Понимаю, что просьба специфическая,но сам программировать на с # не умею. ...

Перевод программы с языка C++ на язык C#
Есть код на языке C++. Помогите, пожалуйста, перевести, т.е. написать то же самое на языке C# . Спасибо! ...

Перевод программы с языка C++ на язык C#
Есть код на языке C++. Помогите, пожалуйста, перевести, т.е. написать то же самое на языке C# . Спасибо! #include...

Перевод программы с языка C++ на язык C#
#include &lt;iostream&gt; using namespace std; int reverse_number(int number) { int n = 0; while(number) { ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 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 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru