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. Мне нужна пред последняя "редактор текста"
|