Перевести с Паскаля на Си - C (СИ) (72249)
Формулировка задачи:
uses crt; type MyArray = array [1..20] of integer; const sizeMax = 20; procedure putZero(var a : MyArray; const size : integer); var i : integer; begin for i := 1 to size do if (a[i] mod 2 = 0) then a[i] := 0; end; procedure putOne(var a : MyArray; const size : integer); var i : integer; begin for i := 2 to size - 1 do if ((a[i - 1] mod 2 = 0) and (a[i + 1] mod 2 = 0)) then a[i] := 1; end;
Решение задачи: «Перевести с Паскаля на Си»
textual
Листинг программы
#include <stdio.h> void printArray(int a[], int size) { while (0 < size--) { printf("%d ", *a++); } printf("\n"); } void putZero(int a[], int size) { int i; for (i = 0; i < size; ++i) { if (a[i] % 2 == 0) { a[i] = 0; } } } void putOne(int a[], int size) { int i; for (i = 1; i < size - 1; ++i) { if ((a[i - 1] % 2 == 0) && (a[i + 1] % 2 == 0)) { a[i] = 1; } } } int main() { int a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int b[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; putZero(a, 10); putOne(b, 10); printArray(a, 10); printArray(b, 10); return 0; }
Объяснение кода листинга программы
- В функции
printArray
используется циклwhile
для прохода по массиву и вывода его элементов на экран. - В функции
putZero
используется циклfor
для прохода по массиву и проверки каждого элемента на четность. Если элемент четный, он заменяется на 0. - В функции
putOne
используется циклfor
для прохода по массиву и проверки соседних элементов на четность. Если оба элемента четные, текущий элемент заменяется на 1. - В функции
main
создаются два массиваa
иb
с десятью элементами от 0 до 9. - Функция
putZero
применяется к массивуa
, а функцияputOne
к массивуb
. - Функция
printArray
применяется к массивамa
иb
для вывода их элементов на экран. - Программа возвращает 0, завершая свою работу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д