Несколько доп. задач на работу с массивами через указатели:

По просьбе некоторых участников предлогаются доп.задачи на работу с массивами через указатели. Решать их совсем не обязательно, но для тех, кто решит, правила такие

Все задачи этохо набора решите, пожалуйста, с помощью указателей (без использования выражений вида a[i]).
И также без использования выражений вида *(a+i).. :).

1. Напишите две очень простые функции. Одна заполняет данный массив длины n нулями. Вторая копирует одни массив длинны n в другой.
Все нассивы передаются в параметрах, результат у обеих функций должен быть void.
Пример вызова м.б. таким:

int a[10];
clear(a, 10); // заполнить массив a длинны 10 нулями
int b[10];
copy(b, a, 10); // Скопировать 10 чисел из массива a в нассив b

2. В данном массиве из 10 чисел найдите максимальный элемент и увеличите его в два раза.
(Можно считать, что мы точно знаем, что максимальный элемент в массиве один).

3. Для данного массива из 10 чисел проверить, есть ли в нем два одинаковых числа и напечатать "да" или "нет".

4. В данном массиве из 10 чисел все нули переписать в конец массива. Например, если в массиве сначала были числа 0, 2, 7, 0, 8, 0, 0, 4, 2, 0, то после обработки дложны оказаться числа 2, 7, 8, 4, 2, 0, 0, 0, 0, 0.

Hosted by www.Geocities.ws

1