P
PROGamer
Я написал прогу каторая выводит количество неповторяющихся в массиве чисел:
НО эту задачку нада сделать по принципу модульности, тобиш разсовать все методы по разным функциям. Я в функциях не очень панимаю... Начал с того, что попыталься засунуть ввод массива в соответствующую функцию:
Оно компилируеться, но в конце выводит неправильное i. Обьясните мне пожалуйста, что я сделал не так и как все правильно распределить по функциям.
#include <stdio.h>
#include <malloc.h>
#include <iostream.h>
int main()
{
int n;
printf ("Vvedite razmernost massiva: ");
scanf ("%d", &n);
float *A;
A = (float*)malloc(n*sizeof(float));
if(!A)
{
printf("*** Nepravilno!!! ***");
}
int r = 0 ;
for (int i = 0; i < n; i++)
{
r++;
printf ("%d element: \t", r);
scanf("%d", &A);
}
int m, q, i = 0;
for (q = 0 ; q < n; q++ )
{
bool f = true;
for (m = 0; m < n; m++ )
{
if ((q != m) && (A[q] == A[m]))
{
f = false;
}
}
if (f) i++;
}
printf("\nKolichestvo chisel katorie ne povtoryautsa: %d", i);
scanf("%d", &m);
}
НО эту задачку нада сделать по принципу модульности, тобиш разсовать все методы по разным функциям. Я в функциях не очень панимаю... Начал с того, что попыталься засунуть ввод массива в соответствующую функцию:
#include <stdio.h>
#include <malloc.h>
#include <iostream.h>
int Vvid(float *A, int n)
{
int i, r=0;
for (i = 0; i < n; i++)
{
r++;
printf ("%d element: \t", r);
scanf("%d", &A);
}
return A;
}
int main()
{
int n, m, q, i, a = 0;;
bool f;
float *A;
printf ("Vvedite razmernost massiva: ");
scanf ("%d", &n);
A = (float*)malloc(n*sizeof(float));
if(!A)
{
printf("*** Nepravilno!!! ***");
}
Vvid(A, n);
for (q = 0 ; q < n; q++ )
{
f = true;
for (m = 0; m < n; m++ )
{
if ((q != m) && (A[q] == A[m]))
{
f = false;
}
}
if (f) a++;
}
printf("\nKolichestvo chisel katorie ne povtoryautsa: %d", i);
scanf("%d", &m);
}
Оно компилируеться, но в конце выводит неправильное i. Обьясните мне пожалуйста, что я сделал не так и как все правильно распределить по функциям.