/* Kadai062 */
/* Example041 のプログラムを、配列宣言以外すべてポインタでアクセスするように変更せよ。 */
/* 2026.07.21 H.Funayama */
#include <stdio.h>
#define DATAMAX 10
int main(void) {
int n = 0;
int number;
int data[DATAMAX];
int *pd = data; /* ポインタ */
printf("好きな正の整数をいくつか入力してください。\n"); printf("終了するときはゼロを入力してください\n");
while (number != 0) {
*(pd + n) = number;
n++;
if (n == DATAMAX) {
printf("データ数の上限 %d を越えました。\n", DATAMAX
); break;
}
}
if (n > 0) {
int *p = pd + n - 1;
while (p >= pd) {
p--;
}
}
return 0;
}
LyogS2FkYWkwNjIJCQkJCQkJCQkJCQkJCQkJCQkJICAgKi8KLyogRXhhbXBsZTA0MSDjga7jg5fjg63jgrDjg6njg6DjgpLjgIHphY3liJflrqPoqIDku6XlpJbjgZnjgbnjgabjg53jgqTjg7Pjgr/jgafjgqLjgq/jgrvjgrnjgZnjgovjgojjgYbjgavlpInmm7TjgZvjgojjgIIgKi8KLyogMjAyNi4wNy4yMSBILkZ1bmF5YW1hCQkJCQkJCQkJCQkJCQkJICAgKi8KCiNpbmNsdWRlIDxzdGRpby5oPgojZGVmaW5lIERBVEFNQVggMTAKCmludCBtYWluKHZvaWQpIHsKICAgIGludCBuID0gMDsgICAgICAgICAgICAgIAogICAgaW50IG51bWJlcjsgICAgICAgICAgICAgCiAgICBpbnQgZGF0YVtEQVRBTUFYXTsgICAgICAKICAgIGludCAqcGQgPSBkYXRhOyAgICAgICAgIC8qIOODneOCpOODs+OCvyAqLwoKICAgIHByaW50Zigi5aW944GN44Gq5q2j44Gu5pW05pWw44KS44GE44GP44Gk44GL5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCXG4iKTsKICAgIHByaW50Zigi57WC5LqG44GZ44KL44Go44GN44Gv44K844Ot44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEXG4iKTsKCiAgICBzY2FuZigiJWQiLCAmbnVtYmVyKTsKCiAgCiAgICB3aGlsZSAobnVtYmVyICE9IDApIHsKICAgICAgICAqKHBkICsgbikgPSBudW1iZXI7ICAgCiAgICAgICAgbisrOwoKICAgICAgICBpZiAobiA9PSBEQVRBTUFYKSB7CiAgICAgICAgICAgIHByaW50Zigi44OH44O844K/5pWw44Gu5LiK6ZmQICVkIOOCkui2iuOBiOOBvuOBl+OBn+OAglxuIiwgREFUQU1BWCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgc2NhbmYoIiVkIiwgJm51bWJlcik7CiAgICB9CgogICAgaWYgKG4gPiAwKSB7CiAgICAgICAgaW50ICpwID0gcGQgKyBuIC0gMTsgICAKCiAgICAgICAgd2hpbGUgKHAgPj0gcGQpIHsKICAgICAgICAgICAgcHJpbnRmKCIlZCAiLCAqcCk7CiAgICAgICAgICAgIHAtLTsgICAgICAgICAgICAgICAKICAgICAgICB9CiAgICB9CgogICAgcHJpbnRmKCJcbue1guS6huOBl+OBvuOBmeOAglxuIik7CiAgICByZXR1cm4gMDsKfQ==