Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 20.11.2017
Сообщений: 9

Определить максимальное из чисел, которые есть в данной строке

24.11.2017, 19:03. Показов 1548. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка, состоящая из букв и цифр. Определить максимальное из чисел, которые есть в данной строке. Записью числа считать непрерывную последовательность цифр в строке.
Помогите, как организовать перебор элементов?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.11.2017, 19:03
Ответы с готовыми решениями:

Вывести слова строки, которые отличны от последнего слова, и определить, есть ли в данной строке одинаковые слова
Дана строка, состоящая из слов, разделённых пробелами. Вывести слова этой строки, которые отличны от последнего слова. Определить, есть ли...

Определить, есть ли в данной строке одинаковые слова
помогите)хотя бы идейку

Определить есть ли в данной строке одинаковые слова
Написать программу, с помощью подпрограмм, которая определяет есть ли в данной строке одинаковые слова.

14
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
24.11.2017, 19:36
циклом for от 0 до длины строки. str[i] - каждый элемент строки
0
Заблокирован
24.11.2017, 20:15
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
 
namespace perceptron
{
  class Program
  {
    static void Main(string[] args)
    {
      string s = "aed094534 65434fghdf 344 fghd345hd dth890";
      int v = 0, k = 0,max=int.MinValue;
      for (int i = 0; i < s.Length; i++)
      {
        if (s[i] > 47 && s[i] < 58)
        {
          v = v * 10 + s[i] - 48;
          if (v > max) max = v;
          k = 1;
        }
        else if (k == 1)
        {
          Console.WriteLine(v);
 
          k = 0; v = 0;
        }
      }
      if (k == 1) Console.WriteLine(v);
      Console.WriteLine("Max={0}", max);
      Console.ReadKey();
    }
  }
}
0
36 / 36 / 29
Регистрация: 12.10.2014
Сообщений: 351
24.11.2017, 22:59
Цитата Сообщение от Остап Бонд Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
 
namespace perceptron
{
  class Program
  {
    static void Main(string[] args)
    {
      string s = "aed094534 65434fghdf 344 fghd345hd dth890";
      int v = 0, k = 0,max=int.MinValue;
      for (int i = 0; i < s.Length; i++)
      {
        if (s[i] > 47 && s[i] < 58)
        {
          v = v * 10 + s[i] - 48;
          if (v > max) max = v;
          k = 1;
        }
        else if (k == 1)
        {
          Console.WriteLine(v);
 
          k = 0; v = 0;
        }
      }
      if (k == 1) Console.WriteLine(v);
      Console.WriteLine("Max={0}", max);
      Console.ReadKey();
    }
  }
}
Добрый вечер. Можно немного разъяснить код? Задача не моя, но мне интересно и я немного не понимаю Ваш подход.
Как мне видится, решение подходит только для этой строки? или это не так?
0
Заблокирован
24.11.2017, 23:05
letronas, вставьте свою строку и проверьте.
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
24.11.2017, 23:14
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Data.SqlClient;
using System.IO;
using System.Drawing;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Threading;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "aed094534 65434fghdf 344 fghd345hd dth890";
            var result = Regex.Matches(s, @"[0-9]+").Cast<Match>().Select(x => int.Parse(x.ToString())).Max();
            Console.WriteLine(result);
        }
    }
}
1
Заблокирован
24.11.2017, 23:26
Diamante,
Челу 3 недели назад пересевшему с QBasic на C# трудновасто осилить c ходу ещё десяток using...
Спасибо!
0
36 / 36 / 29
Регистрация: 12.10.2014
Сообщений: 351
24.11.2017, 23:29
А объяснений по работе нет. Блин, лучше бы дали алгоритм решение, чем само решение) Разобраться сложновато)
Хочется понять.Diamante, как всегда, решение на уровне
0
Заблокирован
24.11.2017, 23:32
letronas, какая конкретно строка моего кода вызывает вопросы?
0
36 / 36 / 29
Регистрация: 12.10.2014
Сообщений: 351
24.11.2017, 23:34
Остап Бонд, В принципе, я не знаю, как подойти к решению, поэтому хочу узнать, почему и зачем так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int v = 0, k = 0,max=int.MinValue;
      for (int i = 0; i < s.Length; i++)
      {
        if (s[i] > 47 && s[i] < 58)
        {
          v = v * 10 + s[i] - 48;
          if (v > max) max = v;
          k = 1;
        }
        else if (k == 1)
        {
          Console.WriteLine(v);
 
          k = 0; v = 0;
        }
      }
      if (k == 1) Console.WriteLine(v);
      Console.WriteLine("Max={0}", max);
0
Заблокирован
24.11.2017, 23:52
В принципе шёл по символам строки и искал цыфры.
Если нашел -складывал их с учетом значимости разряда
Если не нашел - выкладывал то, что нашел и шел дальше...
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
25.11.2017, 00:00
Остап Бонд, это просто юзинги оставшиеся от "что-то кому-то..." там из нужных для кода только Linq и Text.RegularExpression
это так, альтернатива так сказать
но очень коротко и ёмко

Цитата Сообщение от Остап Бонд Посмотреть сообщение
if (s[i] > 47 && s[i] < 58)
лучше заменить на if(char.IsDigit(s[i])) - читабельность кода повышается, ну проверка одна вместо 2х
0
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 685
27.04.2018, 03:03
Diamante,
Цитата Сообщение от Diamante Посмотреть сообщение
if(char.IsDigit(s[i]))
а что делает эта строка?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
27.04.2018, 07:37
Цитата Сообщение от Esso11 Посмотреть сообщение
а что делает эта строка?
проверяет, является ли символ цифровым (десятичным)
0
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 685
27.04.2018, 13:15
Почтальон, спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.04.2018, 13:15
Помогаю со студенческими работами здесь

Определить, есть ли в данной строке одинаковые слова
Определить, есть ли в данной строке одинаковые слова. Нужен полноценный код, заранее спасибо.

Определить, есть ли в данной строке одинаковые слова
Задача №643. Определить, есть ли в данной строке одинаковые слова.

Определить, есть ли в данной строке два любых одинаковых символа
Строки 1.Дана символьная строка. Определить, есть ли в данной строке два любых одинаковых символа, и вывести соответствующее сообщение. ...

Определить, есть ли в данной строке слова, множества символов которых равны
мне надо заменить функции length(нельзя использвать подпрограммы стандартной библиотеки, надо описывать их самостоятельно) вот код ...

Определить, есть ли в данной строке слова, множества символов которых равны
Проблема в том, что в pascal abc.net все отлично компилируется и выводит, но когда я компилю во free, то пишет: &quot;identifier not found...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru