Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Егэ информатика 9 вопрос

Лиана Ганибаева Ученик (105), открыт 4 недели назад
Помогите решить задание 9 из егэ, желательно с объяснением в exel или на с++ Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Найдите наибольший номер строки таблицы, для чисел которой выполнены оба условия: - в строке есть одно число, которое повторяется трижды, остальные числа различны; - количество чётных чисел превышает количество нечётных. В ответе запишите только число. https://1drv.ms/x/c/9fec66871a24d93b/EclXo0TEYs9FrtePfOJCtygBqucEpfsnPdoiYemHAye_Lg?e=AW5umr
2 ответа
Инспектор Жопидý Оракул (53453) 4 недели назад
Я могу предоставить вам алгоритм и примеры кода (Excel и C++), которые помогут вам решить эту задачу:
Алгоритм:
1. Чтение данных: Прочитайте данные из каждой строки файла электронной таблицы.
2. Проверка условий: Для каждой строки:
o Условие 1: Повторяющееся число: Проверьте, есть ли в строке одно число, которое повторяется ровно три раза, а остальные числа различны.
o Условие 2: Чётные и нечётные: Посчитайте количество чётных и нечётных чисел в строке. Убедитесь, что количество чётных чисел больше, чем количество нечётных.
3. Сохранение номера строки: Если оба условия выполнены, сохраните номер строки.
4. Вывод результата: Верните наибольший сохраненный номер строки.
Пример кода на C++:
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
ifstream input("data.txt"); // Замените "data.txt" на имя вашего файла
int maxRow = -1;
int rowNum = 0;

while (!input.eof()) {
vector<int> row(7);
for (int i = 0; i < 7; ++i) {
input >> row[i];
}
rowNum++;

// Условие 1: Повторяющееся число
sort(row.begin(), row.end());
bool condition1 = false;
for (int i = 0; i < 5; ++i) {
if (row[i] == row[i + 1] && row[i] == row[i + 2] &&
(i == 4 || row[i] != row[i + 3]) && (i < 2 || row[i - 1] != row[i])) {
condition1 = true;
break;
}
}

// Условие 2: Чётные и нечётные
int evenCount = 0;
for (int num : row) {
if (num % 2 == 0) {
evenCount++;
}
}
bool condition2 = evenCount > 3;

// Проверка обоих условий
if (condition1 && condition2) {
maxRow = rowNum;
}
}
input.close();

cout << maxRow << endl;
return 0;
}

Пример формул в Excel (для строки 1):
• Условие 1 (вспомогательная ячейка, например, H1):
=ЕСЛИ(СЧЁТЕСЛИ(A1:G1;A1)=3;1;0)+ЕСЛИ(СЧЁТЕСЛИ(A1:G1;B1)=3;1;0)+...+ЕСЛИ(СЧЁТЕСЛИ(A1:G1;G1)=3;1;0)
o Эта формула считает, сколько раз каждое число встречается в строке.
o Если хотя бы одно число встречается ровно 3 раза, результат будет больше 0.
• Условие 2 (вспомогательная ячейка, например, I1):
=ЕСЛИ(СЧЁТЧЁТ(A1:G1)>СЧЁТНЕЧЁТ(A1:G1);1;0)
o Эта формула сравнивает количество чётных и нечётных чисел в строке.
• Финальная формула (вспомогательная ячейка, например, J1):
=ЕСЛИ(И(H1>0;I1=1);СТРОКА();"")
o Эта формула проверяет оба условия и возвращает номер строки, если оба условия выполнены.
Важно:
• Скопируйте эти формулы для всех строк в вашей таблице.
• Используйте функцию МАКС для всех ячеек с финальной формулой, чтобы найти наибольший номер строки, удовлетворяющей условиям.
папа римский Профи (695) 4 недели назад
Ты чё пересдаешь? Может потому что надо была питон учить а не плюсы -_-
Лиана ГанибаеваУченик (105) 4 недели назад
не, я вообще инфу не сдаю, это задача подруги которую она не смогла сделать
папа римский Профи (695) Лиана Ганибаева, прикольно, заботишься о подруге
Похожие вопросы