program ---C++ pomocy

0

Proszeo pomoc.Musze miec program w C++ znajdujący element tablicy(10x10) najbliszy podanej liczbie

0

robisz petle X i Y a ort! sprawdzasz czy dana liczba - ostatnia najmniejsza odleglosc z tablicy, nie jest wieksza niz liczba - aktualna liczba z tablicy. Jak jest to najmniejsza odleglosc z tablicy = aktualna liczba z tablicy...

#include <stdio.h>

int tablica[10][10] =
{
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
{10,11,12,13,14,15,16,17,18,19},
{20,21,22,23,24,25,26,27,28,29},
{30,31,32,33,34,35,36,37,38,39},
{40,41,42,43,44,45,46,47,48,49},
{50,51,52,53,54,55,56,57,58,59},
{60,61,62,63,64,65,66,67,68,69},
{70,71,72,73,74,75,76,77,78,79},
{80,81,82,83,84,85,86,87,88,89},
{90,91,92,93,94,95,96,97,98,99}
};

int abs(int x)
{
if(x < 0)
return -x;
return x;
}

int main()
{
int liczba = 0;
int x,y;
int liczba2 = 0;

printf("Podaj liczbe: ");
scanf("%d",&liczba);

for(y = 0; y < 10; y++)
{
for(x = 0; x < 10; x++)
{
if(abs(liczba - tablica[y][x]) < abs(liczba - liczba2))
liczba2 = tablica[y][x];
}
}

printf("Najblizsza liczba to: %d\n",liczba2);

return 0;
}

0
#include <stdio.h>
#define abs(a) ((a)>=0?(a):(-(a)))
int main(){
  int tab[10][10],i,j,a=100,b;
  unsigned k=unsigned(-1),l;
  //randomize()
  while(a--)((int*)tab)[a]=a; // =random(32767)
  printf("Podaj liczbe: ");
  scanf("%d",&i);
  a=100;
  while(a--)if((l=abs(i-((int*)tab)[a]))<k){j=((int*)tab)[b=a]; k=l;}
  printf("Najblizsza liczba to: %d==tab[%d][%d]\n",j,b/10,b%10);
  return 0;
}

// tak dla sportu przerobiłem troche pomysł cepy ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1