Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C] Histogram

Ostatnio zmodyfikowano 2015-12-13 23:14
Autor Wiadomość
wirownia
Temat założony przez niniejszego użytkownika
[C] Histogram
» 2015-12-13 19:21:04
Witajcie,
muszę napisać program, który uzupełni tablicę 100-elementową losowymi liczbami z niewiadomego przedziału (dodatnie i ujemne), później znajdzie wartość min i max oraz zliczyć ile razy każda wartość występuje - czyli histogram.
Na razie napisałam coś takiego, ale nie liczy poprawnie częstości. Pomocy!!

#define N 10
#define M 20
#define L 10
#include<time.h>
#include<stdio.h>


int main()
{ srand(time(NULL));
int a[N], k, i, min, max;
int suma=0;
int n[suma];

for(k=0; k<N; k++)
a[k]=rand()%(10+5+1)-5;
for(k=0; k<N; k++)
printf("%d\t", a[k]);

    min = a[0];
    max=a[0];
for (i=0; i<N; i++)
{
if(a[i]<min)
min=a[i];
if(a[i]>max)
max=a[i];
}

printf ("\nnajwieksza wartosc to: %d ", max);
    printf ("\nnajmniejsza wartosc to: %d ", min);
    if (min<0 && max<0)
        suma=-min-max+1;
    else if(min<0)
        suma=-min+max+1;
    else
      suma=max-min+1;
    printf ("\nrozpietosc histogramu to: %d", suma);
printf ("\nHistogram\nWartosci:");
for(i=min;i<=max;i++)
        printf ("%d\t", i);
    printf ("\nCzestosc: ");
    for(i=min;i<suma;i++)
        n[i]=0;
    for (k=min; k<suma; k++)
    {
        for (i=0; i<N; i++)
            if (a[i]==k)
            n[k]++;}
    for(k=min;k<suma;k++)
    printf ("%d\t", n[k]);
    return 0; }
[/code]
[/i][/i][/i]
P-141911
pekfos
» 2015-12-13 20:09:26
Popraw formatowanie postu.

C/C++
int suma = 0;
int n[ suma ];
Nie można tak.
P-141914
wirownia
Temat założony przez niniejszego użytkownika
» 2015-12-13 21:03:14
ok
zdefiniowalam tablice int n[suma] pod koniec
ale i tak nie działa
P-141921
carlosmay
» 2015-12-13 23:14:25

C/C++
int suma = 0;
int n[ suma ];
 Nie można tak.
 oznacza, że tablica musi mieć z góry określoną długość.

C/C++
const int n = 10;
int tab[ n ];

lub dynamicznie
C/C++
int n;
cin >> n;
int * p_tab = new int[ n ];
// ....
delete[] p_tab;
 
P-141928
« 1 »
  Strona 1 z 1