宿題手伝います
■ このスレッドは過去ログ倉庫に格納されています
0131127
NGNG使う前にmainの前に void shift(int *p) { .... } を置いて
main の中で shift(a); ってやればいいんだけど。
よく分からんので124を直したの書いておくよ。
#include <stdio.h>
#define SIZE 10
void input(char *s, int *p) {
int i = 0; for(;i<SIZE;i++) { printf(s); scanf("%d",&p[i]); } }
void sort(int *p) {
int i, j; for (i = 0; i < SIZE; i++) for (j = i+1; j < SIZE; j++)
if(p[i]<p[j]) {int work = p[i]; p[i]=p[j]; p[j]=work; } }
void display(int *p) {
int i = 0; for (; i < SIZE; i++) printf("%d ", p[i]); printf("\n"); }
void shift(int *p) {
int i = 1; for (; i < SIZE; i++) while (p[i-1] == p[i] && p[i] != 0)
{ int j = i; for (; j < SIZE-1; j++) p[j] = p[j+1]; p[j] = 0;} }
void answer(int *p, int *q) {
int i, k; printf("共通の要素は"); for(i=0; i< SIZE; i++)
for (k=0; k< SIZE; k++) if (p[i] == q[k] && p[i] != 0)
printf("%d ", p[i]); }
int main(void) {
int a[SIZE],b[SIZE];
input("a=", a); input("b=", b);
display(a); display(b);
sort(a); sort(b);
shift(a); shift(b);
display(a); display(b);
answer(a, b);
}
■ このスレッドは過去ログ倉庫に格納されています