Практика программирования (Бейсик, Си, Паскаль)



         

Задачи, советы и ответы - часть 14


DATA 0,0, 1, 1,2

FOR I=0 TO 4: READ A3(I): NEXT I

DATA 0,1,2,3,4

FOR I=0 TO 4: READ A4(I): NEXT I

DATA 1,2,3,4,5

FOR I=0 TO 4: READ A5(I): NEXT I

PRINT "Количество разных чисел в массиве А0 = ";

PRINT DIFFERENCE(А0(),5)

PRINT "Количество разных чисел в массиве А1 = ";

PRINT DIFFERENCE(A1(),5)

PRINT "Количество разных чисел в массиве А2 = ";

PRINT DIFFERENCE(A2(),5)

PRINT "Количество разных чисел в массиве A3 = ";

PRINT DIFFERENCE(A3() ,5)

PRINT "Количество разных чисел в массиве А4 = ";

PRINT DIFFERENCE(A4(),5)

PRINT "Количество разных чисел в массиве А5 = ";

PRINT DIFFERENCE(A5(), 5)

END

FUNCTION DIFFERENCE (АО AS INTEGER-,N%) DEFINT A-Z

FOR I=0 TO N%-1

IF A(I)=0 THEN K0=l: EXIT FOR NEXT I

FOR I=0 TO N%-1 IF A(I)<>0 THEN

FOR J=I+1 TO N%-1

IF A(I)=A(J) THEN A(I)=0: EXIT FOR NEXT J END IF NEXT I

FOR I=0 TO N%-1

IF A(I)<>0 THEN M=M+1 NEXT I

DIFFERENCE=M+K0

END FUNCTION

Программа 4_09а.с

#include <stdio.h>

#include <conio.h>

void sort(int *a,int n);

int difference(int *a,int n);

main() {

int a0[5]={0,0,0,0,0};

int a1[5]={l,l,l,l,l};

int a2[5]={0,l,l,l,l);

int a3[5]={0,0,l,l,2};

int a4[5]={0,l,2,3,4};

int a5[5]={l,2,3,4,5};

printf("\n Количество разных чисел в этом массиве равно ");

printf("%d",difference(a0,5));

getch(); }

void sort(int *a,int n) {

/* тело любой процедуры сортировки */

return; }

int difference(int *a, int n) {

int i,m;

sort(a,n);

for(i=0,m=l; i<n-l; i++)

if(a[i] != a[i+l]) m++;

return m; }

Программа 4_09b.c

#include <stdio.h>

#include <conio.h>

int difference(int *a,int n);

main() {

int a0[5]={0,0,0,0,0};

int al[5] = {l,l,l,l,1};

int а2[5]={0,1,1,1,1};

int a3[5]={0,0,l,l,2};

int a4[5]={0,l,2,3,4};

int a5[5]={l,2,3,4,5};

printf("\n Количество разных чисел в этом массиве равно ");

printf("%d",difference(a0,5));




Содержание  Назад  Вперед