×
  • 1. Системы счисления
  • 2. Логические функции
  • 3. Анализ информационных моделей
  • 4. Файловая система и базы данных
  • 5. Кодирование и декодирование. Условие Фано
  • 6. Выполнение и анализ простых алгоритмов
  • 7. Адресация в электронных таблицах
  • 8. Анализ программ с циклами
  • 9. Скорость передачи, объем памяти, время передачи
  • 10. Кодирование, комбинаторика
  • 11. Рекурсивные алгоритмы
  • 12. Адресация в сетях TCP/IP
  • 13. Вычисление количества информации
  • 14. Анализ и выполнение алгоритмов для исполнителя
  • 15. Поиск путей в графе
  • 16. Позиционные системы счисления
  • 17. Запросы в поисковых системах
  • 18. Логические выражения и множества
  • 19. Анализ программы по работе с массивом
  • 20. Анализ программ с циклами
  • 21. Анализ программ с циклами и подпрограммами
  • 22. Динамическое программирование
  • 23. Системы логических уравнений
  • 24. Исправление фрагмента программы и ошибок
  • 25. Программа на обработку массива
  • Спасибо за внимание
  • Разбор задачи № 25. Программа на обработку массива

    Теория по задаче

    Разбор текущей задачи
    Цикл for Python
    Индексация списков
    Составление условий
    Обход элементов списка

    Условие задачи

    447) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество четных элементов массива, превышающих первый элемент, а затем заменяет каждый такой элемент на число, равное найденной количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

    Например, для исходного массива из шести элементов: 4 11 12 24 2 16

    программа должна вывести следующий массив 4 11 3 3 2 3

    # допускается также  
    # использовать две 
    # целочисленные переменные j и k
    a = [ ] 
    n = 30 
    for i in range(0, n): 
       a.append(int(input()))
    ...
    const     
    N = 30; 
    var     
    a: array [1..N] of integer;    
    i, j, k: integer;
    begin  
       for i := 1 to N do    
          readln(a[i]);   
       ...  
    end.
    #include <iostream> 
    using namespace std;
    const int N = 30;
    int main() {    
       int a[N];  
       int i, j, k;  
       for (i = 0; i < N; i++)   
          cin >>  a[i];  
       ...   
       return 0; 
    }