Witam
Napisałem program, banalny, który robi różne rzeczy z tablicą. Jednak mam problem ze zliczaniem par takich samych liczb.
Z tego co wiem to program bierze po kolei każdą wartość z tablicy i porównuje ją do kolejnej czyt.
mamy A B C D E
A czy = B? A czy = C? A czy = D? A czy = E?
B czy = C? B czy = D? B czy = E?
C czy = D? C czy = E?
D czy = E?
Przy np
2 2 2 3 3
zliczy mi, 4 pary wg mojego algorytmu, a tak nie jest :/
niby można podzielić przez 2 na szybko patrząc ale to też nie działa :P
możecie pomóc jak rozwiązać ten problem? ostatni komentarz na dole programu za to odpowiada...
z góry dzięki za pomoc.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 20
int main()
{
int tab[N],i,K,k,min,max,parz=0,nparz=0,para,a,wynik;
do
{
printf("Ile liczb chcesz wprowadzic??\n");
scanf("%d",&K);
if(N<K)
{
printf("Za mala tablica! Podaj mniej liczb!\n\n");
}
}
while(N<K);
for(i=0; i<K; i++)
{
printf("Podaj dana do tablicy: ");
scanf("%d",&tab[i]);
}
printf("\n\nWprowadzone wartosci: \n\n");
for(i=0; i<K; i++)
{
printf("%d ",tab[i]);
}
// wartosci min i max
min=tab[0];
max=tab[0];
for (i=0; i<K; i++)
{
if (tab[i]>max)
{
max=tab[i];
}
if (tab[i]<min)
{
min=tab[i];
}
}
printf("\n\nWartosc max: %d",max);
printf("\n\nWartosc min: %d",min);
// wartosci parzyste i nieparzyste
printf("\n\nWartosc parzyste: ");
for (i=0; i<K; i++)
{
if (tab[i]%2==0)
{
parz++;
printf("%d ",tab[i]);
}
}
printf(" -- ilosc wartosci parzystych: %d",parz);
printf("\n\nWartosc nieparzyste: ");
for (i=0; i<K; i++)
{
if (tab[i]%2!=0)
{
nparz++;
printf("%d ",tab[i]);
}
}
printf(" -- ilosc wartosci nieparzystych: %d",nparz);
// liczby parzyste z zakresu
printf("\n\n\nLiczby parzyste z zakresu <10 i >300 to: ");
for (i=0; i<K; i++)
{
if (tab[i]>10 && tab[i]<300)
{
if (tab[i]%2==0)
{
printf("%d ",tab[i]);
}
}
}
// para liczb ...... problem ze zliczaniem i wyswietlaniem par liczb!
para=0;
k=0;
wynik=0;
for (i=0; i<K-1; i++)
{
for (k=i+1; k<K; k++)
{
if(tab[i]=tab[k])
{
para++;
}
}
}
para=para/2;
printf("\n\nTakich samych par liczb jest: %d",para);
printf("\n\n");
return 0;
}