Вопрос по информатике:
Ограничение по времени работы программы: 1 секунда В текстовом файле две строки. В каждой строке записаны какие-то числа через пробел. Подсчитайте количество чисел, встречающихся в первой строке, но не встречающихся во второй. ВХОДНЫЕ ДАННЫЕ Входные данные к этой задаче записаны в файле input.txt. В этом файле две строки, каждая строка содержит целые числа, по модулю не превосходящие 109109, записанные через пробел. Общее количество чисел не превосходит 100000. В одной строке все числа различные. ВЫХОДНЫЕ ДАННЫЕ Программа должна вывести в файл output.txt количество чисел, которые содержатся в первой строке, но не содержатся во второй.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 13.04.2016 00:39
- Информатика
- remove_red_eye 18899
- thumb_up 35
Ответы и объяснения 1
import java.io.*;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws IOException {
//Создаём объекты, которые помогут с чтением и записью файла
BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
//Читаем первую и вторую строку
String one = reader.readLine();
String two = reader.readLine();
//Парсим строки в массивы целых чисел
String[] oneStringArray = one.split(" ");
String[] twoStringArray = two.split(" ");
ArrayList oneList = new ArrayList();
ArrayList twoList = new ArrayList();
for (String s:oneStringArray) {
oneList.add(Integer.parseInt(s));
}
for (String s:twoStringArray) {
twoList.add(Integer.parseInt(s));
}
//Прогоняем первый массив в цикле, если не находим совпалений во второй массиве, то увеличиваем значение count на 1
int count = 0;
for(int a:oneList){
boolean flg = false;
for(int b:twoList){
if(a == b){
flg = true;
break;
}
}
if(flg){
count++;
}
}
writer.write(count);
writer.close();
}
}
- 13.04.2016 22:55
- thumb_up 35
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.