Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 8

Задача на строки

02.12.2013, 16:03. Показов 1676. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В текстовом файле находится текст.
Разделители: пробел, запятая, точка с запятой, двоеточие, вопросительный знак, восклицательный знак.

Необходимо найти и вывести на экран:

1. Сумму чисел с десятичной точкой.
2. Сумму целых чисел.
3. Строку, состоящую из лексем, не являющихся числами (без разделителей).

Обязательные требования:

1. Использовать циклы любых видов НЕЛЬЗЯ!
2. Использовать условные операторы любых видов НЕЛЬЗЯ!
3. Использовать токенайзеры НЕЛЬЗЯ!

Помогите решить, пожалуйста! Ну или хотя бы идею, сам вроде умею решать задачи, но эту даже не знаю с чего начать и как дальше быть. Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.12.2013, 16:03
Ответы с готовыми решениями:

Задача. Вводится число N (кол-во строк). Вводятся все строки. Вывести последний символ каждой строки
Как это написать быстрее всего?

Задача на строки!
Такая вот задачка: Ввести строку символов и подсчитать количество повторений слов одинаковой длины. Изъять все слова заданной пользователем...

Задача на строки
Всем привет, очень нужна ваша помощь. Решите задачку плиз.... Условие: Дана символьная строка, среди символов которой есть...

14
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
02.12.2013, 17:28
При таких обязательных требованиях задачу решить НЕЛЬЗЯ!
0
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 8
02.12.2013, 17:38  [ТС]
вот и я об этом... просто преподша в универе дает задачи для получения автомата... всего их три, первую решил, все норм.... а эту ну просто не реально решить... да просто напросто не реально при таких условиях по строке пройти!
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
02.12.2013, 19:36
Хм... Зверь у Вас преподаватель... Рекурсивный разбор с машиной состояний... Ограничения на длину строки есть? Но я все-таки не уверен, что там без условных операторов обойтись можно...
0
Alariс
02.12.2013, 19:59
щито поделать, мы крайние
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 2
02.12.2013, 20:06
ой, Захаренко, не видать тебе автомата!
0
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 8
02.12.2013, 20:10  [ТС]
ну короче я сам сделал)
Java
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import java.util.ArrayList;
import java.io.*;
public class Bonus_Zad_2 {
public static void main(String[] args){
    FileReader fr;
    File file;
    try{
        file = new File("input.txt");
        fr = new FileReader(file);
    }
    catch(FileNotFoundException e){
        System.out.println("FileNotFoundException");
        return;
    }
   char[]str = new char[(int)file.length()];
   try{
       fr.read(str);
   }
   catch(IOException e){
       System.out.println("IOException");
       return;
   }
   
   
    ArrayList<Integer> aOfInt = new ArrayList<Integer>();
    ArrayList<Double> aOfDbl = new ArrayList<Double>();
    String s = "";
    String[] ws = new String(str).split("[;: ,?!\\n]+");   
    s = Bonus_Zad_2.toDo(ws, aOfInt, aOfDbl, s, 0);
    Integer[]arrInt = new Integer[0];
    arrInt = aOfInt.toArray(arrInt);
    System.out.println("The Sum integer: "+Bonus_Zad_2.summArray(arrInt,0,0));
    Double[]arrDbl = new Double[0];
    arrDbl=aOfDbl.toArray(arrDbl);
    System.out.println("The Sum double: "+Bonus_Zad_2.summArray(arrDbl,0,0));
    
    System.out.print("The cuncat of leksem: "+s);
    
    
}
public static int summArray(Integer[] arr,int index,int summ){
    try{
     summ += arr[index];
     summ = Bonus_Zad_2.summArray(arr,index+1,summ);
    }
    catch(ArrayIndexOutOfBoundsException e){
     return summ;
    }
    return summ;
}
 
public static double summArray(Double[] arr, int index, double summ){
    try{
     summ += arr[index];
     summ = Bonus_Zad_2.summArray(arr, index+1, summ);
    }
    catch(ArrayIndexOutOfBoundsException e){
     return summ;
    }
    return summ;
}
 
 public static String toDo(String[] ws, ArrayList<Integer> aInt, ArrayList<Double> aDbl, String str,int index){
     try{
         int i = Integer.parseInt(ws[index]);
         aInt.add(i);
         str = Bonus_Zad_2.toDo(ws, aInt,aDbl,str, index+1);
     }
     catch(NumberFormatException e){
         try{
         double d = Double.parseDouble(ws[index]);
         aDbl.add(d);
         str = Bonus_Zad_2.toDo(ws, aInt,aDbl,str, index+1);
         }
         catch(NumberFormatException ne){
            try{
            str += ws[index];
            str = Bonus_Zad_2.toDo(ws, aInt,aDbl,str, index+1);
            }
            catch (ArrayIndexOutOfBoundsException ae) {
                 return str;
            }
             
         }
         catch (ArrayIndexOutOfBoundsException ne) {
             return str;
        }
         
     }
     catch (ArrayIndexOutOfBoundsException e) {
         return str;
    }
     return str;
 }
 
 
 
 
}
возможно есть какие-то недостатки, ну вообщем работает)
0
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 2
02.12.2013, 20:15
красава, довольно-таки неплохо
красиво обошел, у меня некоторые идеи похожи
особенно с кэчем и траем
0
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 8
02.12.2013, 20:50  [ТС]
спасибо)

Добавлено через 24 секунды
а по поводу автомата, там нужно 2 из 3 решить, поэтому "видать"
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
02.12.2013, 21:03
AntoAren,

Не по теме:

это ваш преподаватель скрылся под ником damon_whte и следит за вами. убойтесь его. :D

0
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 8
02.12.2013, 21:17  [ТС]
а кто это "Захаренко"
0
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
02.12.2013, 22:18
Не хорошо от батькавской фамилии отрекатсо, Захаренко!
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
02.12.2013, 22:51
Цитата Сообщение от AntoAren Посмотреть сообщение
возможно есть какие-то недостатки, ну вообщем работает)
Я Вас немного огорчу - fr.read НЕ вычитает в общем случае целиком весь файл. Он возвращает, сколько вычитал. И чтобы прочитать всё до конца, нужен цикл.

Второе - split разве не является токенайзером? Он разбивает строку на токены по разделителям. Его точно можно использовать? Слабо без него?
0
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 8
02.12.2013, 23:14  [ТС]
про read - согласен, но просто цикл нельзя использовать... решил так написать) про токенайзер - я решил что это имеется ввиду явный токенайзер типа StringTokinezer... а про слабо... скорее всего да)) просто на задачу дается 6 часов, а помимо её есть еще другие предметы... а если был бы свободен, можно было бы и поразмыслить)
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
03.12.2013, 00:04
Цитата Сообщение от AntoAren Посмотреть сообщение
а про слабо... скорее всего да)) просто на задачу дается 6 часов, а помимо её есть еще другие предметы... а если был бы свободен, можно было бы и поразмыслить)
Ну, при таких условиях (не использовать ни split, ни буферное чтение) это реально недетская задача. Мне потребовалась пара часов - час на подумать, час на написать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.12.2013, 00:04
Помогаю со студенческими работами здесь

Задача на строки
Я не прошу написать код, прошу просто подсказать, как осуществить такую задачу. Есть текст, текст состоит из маленьких букв, знаков *+-...

Задача на строки
Задание: напишите программу, которая удаляет из строки все html-теги (&lt;html&gt; &lt;font&gt; и т.д.). Строка должна читаться из файла. HTML-тегом...

Строки. Задача по С++
Преобразовать строку так, чтобы буквы каждого слова в ней были отсортированы по возрастанию.

Задача на строки
Дан массив слов. Составить предложение из слов, которые начинаются на заданный символ, предварительно удалив из слова все такие символы...

задача на строки
для последнего слова заданного предложения указать, сколько раз оно встречается в предложении


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru