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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2011, 22:52   #1
владислав10
Пользователь
 
Регистрация: 03.03.2011
Сообщений: 13
По умолчанию Нужна маленькая помощ по C#

Вводятся целые числа (вводится N чисел, или ввод продолжается до набора цифры 0). Найти и вывести количество локальных максимумов среди всех введенных чисел (предполагается, что соседние числа не повторяются). Локальный максимум это число, слева и справа от которого находятся меньшие числа. Например набрано "2 3 2 6 4 1 7 9 4 6 0" – здесь тройки с максимумами это: 2 3 2; 2 6 4; 7 9 4 . Надо вывести на экран: "Всего 3 локальных максимума".
владислав10 вне форума Ответить с цитированием
Старый 23.03.2011, 23:04   #2
Mihsan
 
Регистрация: 23.03.2011
Сообщений: 4
По умолчанию

Код:
using System.Collections.Generic;
...
			int k = 0;
			List<int> ar = new List<int>();
			int s;
			while (true)
			{
				s = Int32.Parse(Console.ReadLine());
				if (s != 0)
					ar.Add(s);
				else
					break;
			}
			for (int i = 1; i < ar.Count - 1; i++)
			{
				if (ar[i] > ar[i + 1] && ar[i] > ar[i + 1])
					k++;
			}
			Console.WriteLine("Всего {0} локальных максимумов", k-1);
			Console.ReadLine();
________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это КНОПОЧКА с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 24.03.2011 в 07:23.
Mihsan вне форума Ответить с цитированием
Старый 23.03.2011, 23:12   #3
владислав10
Пользователь
 
Регистрация: 03.03.2011
Сообщений: 13
По умолчанию

не сомневаюсь в правильности вашего кода!Но это не совсем то что мне нужно((
владислав10 вне форума Ответить с цитированием
Старый 23.03.2011, 23:14   #4
Mihsan
 
Регистрация: 23.03.2011
Сообщений: 4
По умолчанию

ччто смутило?)
Mihsan вне форума Ответить с цитированием
Старый 23.03.2011, 23:18   #5
владислав10
Пользователь
 
Регистрация: 03.03.2011
Сообщений: 13
По умолчанию

ну вопервых то что в консоле))та и форма записи....

мне б попроще запись...
владислав10 вне форума Ответить с цитированием
Старый 24.03.2011, 00:33   #6
Mihsan
 
Регистрация: 23.03.2011
Сообщений: 4
По умолчанию

я могу пояснить, что не понятно то*?
List<T> это коллекция(улучшенный массив из элементов тита Т)
Int32.Parse перевод строки в инт
Mihsan вне форума Ответить с цитированием
Старый 24.03.2011, 01:01   #7
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

владислав10 вы уж определитесь что именно вам нужно. На мой взгляд сложно сделать код проще чем сделал вам Mihsan. (можно конечно и делать пару финтов, но врядли код от этого станет понятнее) Если вас неустраивает консольное приложение, то 1) Так и нужнобыло чётко написать. 2) Если вам нужны формы windows то это будет сложнее. А вы просите попроще.
Ну а если чтото конкретное в коде непонятно. То задавайте конкретные вопросы. Или хотябы конкретно пишите что вам нужно.

и исправлю маленькую ошибку в коде. Видимо Mihsan хотел написать
Код:
if ((ar[i] > ar[i + 1]) && (ar[i] > ar[i - 1]))
...
...
Console.WriteLine("Всего {0} локальных максимумов", k);
можно ещё так сделать
Код:
  int k = 0;
  int s = 0;
  int i = 0;
  int s_old1 = 0;
  int s_old2 = 0;
  do
  {
    s_old2 = s_old1;
    s_old1 = s;
    s = Int32.Parse(Console.ReadLine());
    i++;
    if ((s!=0)&&(i>=3))
    {
      if ((s_old1>s_old2)&&(s_old1>s))
      {
        k++;
      }
    }
  } while (s!=0);
  Console.WriteLine("Всего {0} локальных максимумов", k);
но как по мне этот код более запутан чем тот что вам написали раньше
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."

Последний раз редактировалось val_nnm; 24.03.2011 в 01:03.
val_nnm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна маленькая программка vort0 Фриланс 3 01.02.2011 17:10
врачам нужна маленькая программа Russdoc Фриланс 22 04.05.2010 17:00
Нужна маленькая програмка demetrio0505 Фриланс 6 03.11.2009 18:29
Очень нужна маленькая программа. 5000р. Wereder Фриланс 4 24.06.2009 09:05