Другие языки программирования и технологии

Функция для сравнения элементов 2 одномерных массивов на си?

// Bob_Spunch_2011-12-09
// Visual C++
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <math.h>
#include <windows.h>
#define N 3
#define M 5

void comparison(int*, int, int*, int);
void comparison(int*, int, double*, int);
void comparison(double*, int, double*, int);
void pause();

void main()
{
setlocale(LC_CTYPE, "Russian_Russia.1251");

int a1[M] = {1, 2, 3, 4, 5};
double a2[M] = {1.0, 2.0, 3.0, 4.0, 5.0};
int b1[N] = {1, 2, 3};
double b2[N] = {1.0, 2.0, 3.0};

comparison(a1, M, a2, M);
pause();
comparison(a1, M, b1, N);
pause();
comparison(a2, M, b2, N);
pause();
comparison(b1, N, a2, M);
pause();
comparison(b1, N, b2, N);

getch();
}

void comparison(int * a, int size1, int * b, int size2)
{
if (size1 == size2)
{
printf("\n Массивы равны по количеству элементов. ");
for (int n = 0; n < size1; n++)
{
if (a[n] == b[n])
{
if (n == size1 - 1)
{
printf("\n Элементы массивов совпадают по значениям. ");
break;
}
continue;
}
else
{
printf("\n Элементы массивов не совпадают по значениям. ");
break;
}
}
}
else
{
printf("\n Массивы не равны по количеству элементов. ");
printf("\n Элементы массивов не совпадают по значениям. ");
}
printf("\n Тип данных совпадает. ");
}

void comparison(int * a, int size1, double * b, int size2)
{
double x = 0.0, y;
if (size1 == size2)
{
printf("\n Массивы равны по количеству элементов. ");
for (int n = 0; n < size1; n++)
{
y = floor(b[n]) - (b[n]);
if (a[n] == (int) b[n] && abs(x - y) < 1e-10)
{
if (n == size1 - 1)
{
printf("\n Элементы массивов совпадают по значениям. ");
break;
}
continue;
}
else
{
printf("\n Элементы массивов не совпадают по значениям. ");
break;
}
}
}
else
{
printf("\n Массивы не равны по количеству элементов. ");
printf("\n Элементы массивов не совпадают по значениям. ");
}
printf("\n Тип данных не совпадает. ");
}

void comparison(double * a, int size1, double * b, int size2)
{
if (size1 == size2)
{
printf("\n Массивы равны по количеству элементов. ");
for (int n = 0; n < size1; n++)
{
if (a[n] == (int) b[n] && abs(a[n] - b[n]) < 1e-10)
{
if (n == size1 - 1)
{
printf("\n Элементы массивов совпадают по значениям. ");
break;
}
continue;
}
else
{
printf("\n Элементы массивов не совпадают по значениям. ");
break;
}
}
}
else
{
printf("\n Массивы не равны по количеству элементов. ");
printf("\n Элементы массивов не совпадают по значениям. ");
}
printf("\n Тип данных совпадает. ");
}

void pause()
{
printf("\n");
Sleep(4000);
}
АС
Антон Савченков
63 179
Лучший ответ
for (int i=0; i<massive1.count;> i) {
if (massive1 > massive2) cout<<i<<"-й> > massive2) cout<

Сайт хавает программу!!

Похожие вопросы