9.04.2012 / 21:26 |  | 
XakepPRO    Модератор форума  
   Сейчас: Offline 
 Регистрация: 20.06.2012
   | Pauk52,  может, здесь не ++? if (str[i]==' ' && str[i++]==' ')  
  | 
  9.04.2012 / 22:40 |  | 
Pauk52    Пользователь  
   Сейчас: Offline 
 Имя: Володимир Откуда: Пески-радьковские Регистрация: 25.01.2011
   | XakepPRO,  а что? Я хочу проверять 2 соседни ячейки
   | 
  9.04.2012 / 22:46 |  | 
XakepPRO    Модератор форума  
   Сейчас: Offline 
 Регистрация: 20.06.2012
   | Pauk52,  может i присвоить i + 1;
   | 
  9.04.2012 / 22:56 |  | 
Pauk52    Пользователь  
   Сейчас: Offline 
 Имя: Володимир Откуда: Пески-радьковские Регистрация: 25.01.2011
   | XakepPRO,  а разница. Проверил, тоже самое. Или алгоритм кривой или я. Даже первый элемент не правильно присвоивается.
   | 
  9.04.2012 / 22:58 |  | 
XakepPRO    Модератор форума  
   Сейчас: Offline 
 Регистрация: 20.06.2012
   | Pauk52,  чёт я нереальное сморозил. Просто смотришь i+1, присваиваешь позже. Как я понимаю, i++ тот же i, но на следующей итерации цикла делает i равным i+1.
   | 
  9.04.2012 / 23:11 |  | 
Pauk52    Пользователь  
   Сейчас: Offline 
 Имя: Володимир Откуда: Пески-радьковские Регистрация: 25.01.2011
   | XakepPRO,  что я такое натворил что она уже не чего не наказывает. У тебя не осталось исходника задачи z8 текстовый редактор ?
   | 
  10.04.2012 / 06:01 |  | 
XakepPRO    Модератор форума  
   Сейчас: Offline 
 Регистрация: 20.06.2012
   | Pauk52,  щаз скину.
   | 
  10.04.2012 / 06:11 |  | 
XakepPRO    Модератор форума  
   Сейчас: Offline 
 Регистрация: 20.06.2012
   | Открыть спойлер Закрыть спойлер using System;  
using System.Text;  
using System.IO;  
   
namespace ConsoleApplication1  
{  
    class Program  
    {  
        static int n, m;  
        static int[,] mas;  
   
        static void Main(string[] args)  
        {  
            // Создаем поток, из которого будем читать текст  
            StreamReader f = new StreamReader("input.txt");  
   
            // Создаем файл, в который будем сливать текст  
            StreamWriter f2 = new StreamWriter("output.txt");  
   
            // Читаем размеры массивы  
            Read(f, out n); Read(f, out m);  
            mas = new int[n, m];  
   
            // Считываем данные в массив  
            for (int i = 0; i < n; i++)  
                for (int j = 0; j < m; j++)  
                    Read(f, out mas[i, j]);  
   
            //Высчитываем кратчайший путь  
            for (int i = m - 2; i >= 0; i--) getM(n - 1, i);  
            for (int i = n - 2; i >= 0; i--) getM(i, 0);  
   
            f2.Write(mas[0, 0]);  
   
            // Закрываем и сохраняем файл  
            f.Close(); f2.Close();  
        }  
   
        static void Read(StreamReader f, out int x)  
        {  
            x = int.MinValue;  
            try  
            {  
                x = Convert.ToInt32(read_lexem(f));  
            }  
            catch (Exception Exception) { Console.WriteLine(Exception); }  
        }  
   
        static string read_lexem(StreamReader f)  
        {  
            Char c;  
            Int32 i;  
            StringBuilder sb;  
   
            // Пропускаем пробелы  
            do  
            {  
                i = f.Read();  
            }  
            while (Char.IsWhiteSpace((char)i));  
   
            c = (char)i; // pascal: c := char(i);  
            sb = new StringBuilder();  
   
            // accumulate nonspaces  
            do  
            {  
                sb.Append(c);  
                i = f.Peek();  
                if (i == -1) break;  
   
                c = (char)i;  
                if (Char.IsWhiteSpace(c)) break;  
                f.Read();  
            }  
            while (true);  
   
            return sb.ToString();  
        }  
   
        static void getM(int i, int j)  
        {  
            for (; i >= 0 && j < m; i--, j++)  
            {  
                mas[i, j] = Math.Min((i + 1 == n ? int.MaxValue : mas[i + 1, j]), (j + 1 == m ? int.MaxValue : mas[i, j + 1])) + mas[i, j];  
            }  
        }  
   
        static void MasPrint(int k, int l)  
        {  
            for (int i = 0; i < n; i++)  
            {  
                for (int j = 0; j < m; j++)  
                {  
                    if (i == k && l == j) Console.ForegroundColor = ConsoleColor.DarkYellow;  
                    //Console.Write("{0}  ", mas[i, j]);  
                    //if (i == k && l == j) Console.ForegroundColor = ConsoleColor.Gray;  
                }  
                Console.WriteLine();  
            }  
        }  
    }  
}  
  http://upwap.ru/2162061 Изменено XakepPRO (10.04 / 06:12) (всего 3 раза) | 
  10.04.2012 / 07:05 |  | 
kiriman    Пользователь  
   Сейчас: Offline 
 Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
   | XakepPRO (09.04.2012/22:58) Pauk52,  чёт я нереальное сморозил. Просто смотришь i+1, присваиваешь позже. Как я понимаю, i++ тот же i, но на следующей итерации цикла делает i равным i+1.Чтоб этого избежать ++i
   | 
  10.04.2012 / 07:39 |  | 
Pauk52    Пользователь  
   Сейчас: Offline 
 Имя: Володимир Откуда: Пески-радьковские Регистрация: 25.01.2011
   | XakepPRO,  во блин я в том документе назвал дважды задачи z8. Мне нужна пред последняя "редактор текста"
   |