[ C# / Java ] — начинающим: задаем вопросы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by procedure, 2 Nov 2008.

  1. shiku

    shiku Member

    Joined:
    6 Aug 2009
    Messages:
    0
    Likes Received:
    25
    Reputations:
    1
    Как верно указать кодировку в которой читаем ответ сервера, если есть допустим картинка 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);
    
    На некоторых сайтах работает, на некоторых картинка не читаема, а когда вручную меняю кодировку то все норм.
     
  2. endlesx

    endlesx New Member

    Joined:
    15 Apr 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    помогите решить задачку по C#
    Для заданного двумерного массива NxN просуммировать элементы, расположенные на диагоналях, параллельных главной. результаты поместить в одномерный массив.
     
  3. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    462
    Likes Received:
    38
    Reputations:
    1
    А на пальцах?
     
  4. endlesx

    endlesx New Member

    Joined:
    15 Apr 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    вот никак не получается? все пальцы сломал, помоги пожалуйста хоть чуть чуть, реши на C#
     
  5. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    462
    Likes Received:
    38
    Reputations:
    1
    Все ясно - тяжелый случай...
    Я говорю задание более подробно и детально опиши/упрости.
    Я лично не понял, что тебе конкретно нужно.
     
  6. endlesx

    endlesx New Member

    Joined:
    15 Apr 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    ахах :D да тяжелый..

    ну вот например
    1 2 3
    1 2 3
    1 2 5
    ну вообщем такая функция чтоб складывала элементы диагонали ну то есть 1+2+5. типа того. чем можешь помоги)
     
  7. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    462
    Likes Received:
    38
    Reputations:
    1
    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
     
  8. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    507
    Likes Received:
    105
    Reputations:
    53
    Ну вот, опередил (
    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. сделано по условиям задачи, т.е. основная диагональ не считается как и угловые одиночные значения.
     
    #1628 Melfis, 13 Nov 2013
    Last edited: 13 Nov 2013
  9. endlesx

    endlesx New Member

    Joined:
    15 Apr 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    всё понял, благодарю)))
     
  10. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,582
    Likes Received:
    173
    Reputations:
    75
    PHP:
    int intArray[4] = {5203010};
                

        
    cout<<intArray.lenght;

    пишет ошибку



    как сие понимать? как сделать правильно?
     
  11. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    391
    Likes Received:
    70
    Reputations:
    124
    1) раздел не тот
    2) в плюсах массив не есть класс, именно это теье и говорит компилятор. имея только массив в общем случае узнать его длину нельзя, ее нужно хранить отдельно
    п.с. в твоем случае можно сделать sizeof(intArray), но такое можно делать только со статическими массивами
     
    2 people like this.
  12. Ingvar79

    Ingvar79 Banned

    Joined:
    28 Nov 2013
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Скиньте кто-нибудь ссылку(и), где почитать можно про связку Sikuli с каким-нибудь сервисом антикапчи.
    Сорри если не туда запостил.
     
  13. endlesx

    endlesx New Member

    Joined:
    15 Apr 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Написать программу, которая выводит на экран точечный график функции y= 1x+5х. Диапазон изменения аргумента – от –10 до 10, шаг аргумента – 0.5. График вывести на фоне координатных осей , точка пересечения которых должна находиться в центре экрана.

    это вообще реально? :D я не понимаю это через консоль или как?
     
  14. endlesx

    endlesx New Member

    Joined:
    15 Apr 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0

    1x+5x - x здесь в степени.
     
  15. falklol

    falklol New Member

    Joined:
    17 Jan 2014
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Всем привет! А как сделать так, чтобы программа .exe запустилась сама, без участия пользователя?
     
  16. qw1mb1

    qw1mb1 Member

    Joined:
    8 Feb 2013
    Messages:
    113
    Likes Received:
    16
    Reputations:
    8
    Варианта 2:
    1. Автозапуск.
    2. Запуск другой программой (например, Планировщик задач).
     
  17. trunker

    trunker Member

    Joined:
    5 Feb 2009
    Messages:
    47
    Likes Received:
    66
    Reputations:
    1
    {
    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

    в чем разница?
     
  18. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    В приоритете операторов?
    Подробности(скобки просто для наглядности):
    int x = 5, y = 10, z = 15;
    x = (y <<(x++)) ^ z ;
    y<<(x++) = 320;
    320 ^ z = 335
    Постфиксный инкремент тут бессмыслен, и приведет к побочному эффекту, поскольку он используется для переменной-назначения.
     
    #1638 seosimf, 2 Feb 2014
    Last edited: 2 Feb 2014
  19. shiku

    shiku Member

    Joined:
    6 Aug 2009
    Messages:
    0
    Likes Received:
    25
    Reputations:
    1
    C# Делаю гет запрос через сокеты с заголовком gzip. У кого есть пример как правильно распаковать ответ сервера, если он у меня в string переменной? Причем заголовки не запакованы, только тело ответа.
     
  20. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    Читаешь заголовок HTTP нормально из потока чтения, прочитав его добавляешь врапер из GZipStream для потока чтения и продолжаешь читать.
     
Loading...