element środkowy
Ola09: Element środkowy tablicy kwadratowej o nieparzystej liczbie wierszy i kolumn
Próbowałam:
int tab[n][m];
elementsrodkowy=tab[(n−1)/2+1][(m−1)/2+1]; ale nie działa
jak go znaleźć?
20 paź 23:35
jc: tab[n/2][m/2];
20 paź 23:41
Ola09: ale to jest tablica z nieparzystą liczbą kolumn i wierszy
20 paź 23:43
Ola09:
np.
n=5
m=5
tab[(n−1)/2+1][(m−1)/2+1]=tab[(5−1)/2+1][(5−1)/2+1]=tab[3][3]
a gdyby było
| 1 | | 1 | |
tab[n/2][m/2]=tab[2 |
| ][2 |
| ] |
| 2 | | 2 | |
20 paź 23:47
Ola09: w każdym razie to i to nie działa
20 paź 23:48
Ola09: już wiem!
c=(a−1)/2+1;
d=(b−1)/2+1;
tab[c][d]="elementsrodkowy";
printf("el sr %d,%d,%d",c,d,elementsrodkowy);
20 paź 23:57
jc: W programie zadziała (przynajmniej w C).
20 paź 23:57
Ola09: printf("el sr %d,%d,%d",c,d,elementsrodkowy); <− znaczy to dałam do sprawdzenia
20 paź 23:57
Ola09: problem polegał na tym, że nie dałam cudzysłowowa. teraz jest ok. dziękuję
20 paź 23:58
Ola09: a nie coś się nie zgadza
21 paź 14:31
Dziadek Mróz:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE_X 5
#define SIZE_Y 7
int main(int argc, char **argv)
{
srand(time(NULL));
int **tab = (int **)malloc(SIZE_X * sizeof(int *));
size_t i;
for (i = 0; i < SIZE_X; i++)
{
tab[i] = (int *)malloc(SIZE_Y * sizeof(int));
size_t j;
for (j = 0; j < SIZE_Y; j++)
{
tab[i][j] = rand() % 10;
printf(" %d", tab[i][j]);
}
printf("\n");
}
int srodkowy = tab[SIZE_X/2][SIZE_Y/2];
printf("srodkowy (tab[%d][%d]): %d\n", SIZE_X/2, SIZE_Y/2, srodkowy);
for (i = 0; i < SIZE_X; i++)
{
free(tab[i]);
}
free(tab);
return 0;
}
21 paź 18:36