Witam.
otóż nie działa mi poprawnie warunek dla b==0, bo po wpisaniu np 3.7 ukazuje 3 pozycje, a nie 1 (tę pierwszą tylko).
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define R 8
#define gran 0.5f
int main (void)
{
float tab[R]={1.2,2.4,2.7,3.5,3.6,3.8,6.8,7.2};
float a;
int b;
int licznik;
printf("Podaj element ktory chcesz znalezc: ");
scanf("%f",&a);
printf("Chesz znalezc wszystkie elementy, cz tylko pierwszy napotkany? \n");
printf("Nacisnij 1 - wszystkie lub 0 - tylko pierwszy: ");
scanf("%d",&b);
if(b==0)
{
int i=0;
while(i<R)
{
if(fabs(tab[i]-a)<=gran)
{
printf("Element znaleziony na pozycji: %d\n",i);
licznik++;
}
if(licznik==1)
{
break;
}
if(licznik==0)
{
return 0;
}
i++;
}
}
if(b==1)
{
int i=0;
while(i<R)
{
if(fabs(tab[i]-a)<=gran)
{
printf("Element znaleziont na pozycji: %d\n",i);
licznik++;
}
if(licznik==0)
{
return 0;
}
i++;
}
}
}