Как верно указать кодировку в которой читаем ответ сервера, если есть допустим картинка http://example.com/image.jpg, ее нужно спарсить? Использую xNet, вот код: Code: request.CharacterSet = Encoding.GetEncoding("windows-1251"); response = request.Get("site.ru"); content = response.ToString(); using (StreamWriter s = new StreamWriter(path,true,Encoding.GetEncoding("windows-1251")) s.Write(content); На некоторых сайтах работает, на некоторых картинка не читаема, а когда вручную меняю кодировку то все норм.
помогите решить задачку по C# Для заданного двумерного массива NxN просуммировать элементы, расположенные на диагоналях, параллельных главной. результаты поместить в одномерный массив.
Все ясно - тяжелый случай... Я говорю задание более подробно и детально опиши/упрости. Я лично не понял, что тебе конкретно нужно.
ахах да тяжелый.. ну вот например 1 2 3 1 2 3 1 2 5 ну вообщем такая функция чтоб складывала элементы диагонали ну то есть 1+2+5. типа того. чем можешь помоги)
Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DiagonalCheck_Sharp { class Program { static void Main(string[] args) { System.Console.WriteLine("Create 2 Dimension-Array and fill it with random numbers!\n\n" ); int[,] m_Array = new int[10, 10]; Random rd = new Random(); for (int i = 0; i < 10; i++) { System.Console.WriteLine("\n"); for (int b = 0; b < 10; b++) { m_Array[i, b] = rd.Next(1, 5); System.Console.Write(m_Array[i, b] + ","); } } System.Console.WriteLine("Add...\n Print any key:"); System.Console.ReadKey(); for (int i = 9; i >= 0; i--) { int sum = m_Array[i,0]; for (int b = 9 - i; b > 0; b--) { sum += m_Array[i + b, b]; } System.Console.WriteLine("\n" + sum); } System.Console.ReadKey(); } } } Суммирует и выводит ровно половину, что бы вторую часть вычислить достаточно переделать последние два цикла. То бишь диагонали для звездочек не подсчитаны. 0********* 01******** 012******* 0123****** 01234***** 012345**** 0123456*** 01234567** 012345678* 0123456789
Ну вот, опередил ( Code: private void Calc() { int size = 4; int[,] arr = { {1,2,3,4}, {6,7,8,9}, {1,2,3,4}, {1,2,3,4} }; int lineOffset; int linesCount = 2 * size - 4; // формула для определения количества линий для сложения var linesSum = new List<int>(); // List, в котором будут храниться суммы. // пробегаемся по линиям // ____________ // | // | \ \ // |\ \ \ \ // | \ \ \ \ // -1 -2 0 1 2 // Как-то так, углы не считаются, центральная линия не считается // если у lineOffset отрицательное значение, то считается, что оно находится под диаганалью for (lineOffset = -linesCount / 2; lineOffset <= linesCount / 2; lineOffset++) { // нулевую линию не считаем if (lineOffset == 0) { continue; } linesSum.Add(GetLineSum(lineOffset, arr, size)); } Console.Write(linesSum); } private int GetLineSum(int lineOffset, int[,] arr, int size) { int i, x, y; int lineSum = 0; int lineLength = size - Math.Abs(lineOffset); for (i = 0; i < lineLength; i++) { x = y = i; // если линия под диаганалью, то она так if (lineOffset < 0) { y = x + Math.Abs(lineOffset); } else { x = y + Math.Abs(lineOffset); } lineSum += arr[y, x]; } return lineSum; } UPD. сделано по условиям задачи, т.е. основная диагональ не считается как и угловые одиночные значения.
PHP: int intArray[4] = {5, 20, 30, 10}; cout<<intArray.lenght; пишет ошибку как сие понимать? как сделать правильно?
1) раздел не тот 2) в плюсах массив не есть класс, именно это теье и говорит компилятор. имея только массив в общем случае узнать его длину нельзя, ее нужно хранить отдельно п.с. в твоем случае можно сделать sizeof(intArray), но такое можно делать только со статическими массивами
Скиньте кто-нибудь ссылку(и), где почитать можно про связку Sikuli с каким-нибудь сервисом антикапчи. Сорри если не туда запостил.
Написать программу, которая выводит на экран точечный график функции y= 1x+5х. Диапазон изменения аргумента – от –10 до 10, шаг аргумента – 0.5. График вывести на фоне координатных осей , точка пересечения которых должна находиться в центре экрана. это вообще реально? я не понимаю это через консоль или как?
{ int x = 5, y = 10, z = 15; x = y << x++ ^ z ; Console.WriteLine(x); } Объясните пожалуйста почему получается 335, хотя я считал у меня получается 10240, желательно в подробностях. x++ ^z ==10 x++ << 10 == 10240 y << x++ ^ z == 335 в чем разница?
В приоритете операторов? Подробности(скобки просто для наглядности): int x = 5, y = 10, z = 15; x = (y <<(x++)) ^ z ; y<<(x++) = 320; 320 ^ z = 335 Постфиксный инкремент тут бессмыслен, и приведет к побочному эффекту, поскольку он используется для переменной-назначения.
C# Делаю гет запрос через сокеты с заголовком gzip. У кого есть пример как правильно распаковать ответ сервера, если он у меня в string переменной? Причем заголовки не запакованы, только тело ответа.
Читаешь заголовок HTTP нормально из потока чтения, прочитав его добавляешь врапер из GZipStream для потока чтения и продолжаешь читать.