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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2013, 13:29   #1
Sirba
Новичок
Джуниор
 
Регистрация: 03.10.2013
Сообщений: 1
По умолчанию Обработка одномерного массива на C# (Помогите перевести код с Паскаль на C#)

В одномерном массиве, состоящем из n вещественных элементов вычислить:
1.количество отрицательных элементов массива;
2.сумму модулей элементов, расположенных после минимального по модулю элемента.
Заменить все отрицательные элементы массива их квадратами и упорядочить по возрастанию.

Код:
uses crt;
const n=10;
var m:array[1..n]of integer;
i,j,k,min:integer;
 
begin
 clrscr;
 write('Массив -> ');
 for i:=1 to n do read(m[i]);
 readln;
 k:=0;
 for i:=1 to n do if m[i]<0 then inc(k);
 write('Всего отрицательных элементов - ',k);
 min:=1;
 for i:=1 to n do if abs(m[i])<abs(m[min]) then min:=i;
 k:=0;
 for i:=min+1 to n do k:=k+abs(m[i]);
 writeln('Сумма модулей элементов после MIN = ',k);
 for i:=1 to n do if m[i]<0 then m[i]:=sqr(m[i]);
 for i:=1 to n do
 for j:=1 to n-1 do
 if m[j]>m[j+1] then
 begin
  k:=m[j];
  m[j]:=m[j+1];
  m[j+1]:=k;
 end;
 writeln('Отсортированный массив');
 for i:=1 to n do write(m[i],' ');
 readln;
end.
_________
1) Название темы не соответствует правилам форума

Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться,
а автор такой темы получать штрафы.

2) Код должен быть оформлен тегами
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)


Прошу учесть на будущее...

Модератор.

Последний раз редактировалось Serge_Bliznykov; 03.10.2013 в 14:02.
Sirba вне форума Ответить с цитированием
Старый 03.10.2013, 14:04   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы начните писать программу на C#, если возникнут сложности, вот тогда и уточните, как это записать/запрограммировать на C#

p.s. для затравки можете посмотреть вот ЭТУ тему..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.10.2013, 14:14   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предположу что так:
Код:
            float[] a = { 1, 2, 3, 4, 5 }; float s = 0;
            //количество отрицательных элементов массива;
            Console.Write("{0}\n",a.Count(i => i < 0));
            int mi=0;
            for (int i = 0; i < a.GetLength(1); i++) if (Math.Abs(a[i]) < Math.Abs(a[mi])) mi=i;
            //2.сумму модулей элементов, расположенных после минимального по модулю элемента.
            for (int i = mi; i < a.GetLength(1); i++) s += a[i]; Console.Write("{0}\n", s);
            //Заменить все отрицательные элементы массива их квадратами и упорядочить по возрастанию.
            for (int i = 0; i < a.GetLength(1); i++) if (a[i] < 0) a[i] = a[i] * a[i];
            foreach (float i in a.OrderBy(q=>q)) Console.Write("{0} ", i);
Не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка одномерного массива Паскаль Сергей11111 Помощь студентам 4 11.11.2012 00:24
Обработка одномерного массива tomriddle Паскаль, Turbo Pascal, PascalABC.NET 1 03.02.2011 18:14
обработка одномерного массива avengelus Помощь студентам 5 23.10.2010 08:38