Skocz do zawartości

[C] Ograniczenie wyświetlenia zawartosci tabeli.


kiler1000

Rekomendowane odpowiedzi

Potrzebuje pomocy: Program ma utworzyć tabliczkę mnożenia z zakresu 0-1000. Wyświetlić tylko 10x10 z pominieciem reszty oraz wyznaczyć średnią wartość tablicy. Kod:

 

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int main(void)
{
int w,k;
float t[10][10];
printf("Tabliczka mnozenia\n");
printf("Podaj liczbe kolumn\n");
scanf("%d",&k);
printf("Podaj liczbe wierszy\n");
scanf("%d",&w);
for (k=1;k<=10;k++){
    for (w=1;w<=10;w++){
        t[k][w]=(k+1)*(w+1);
    }
}
printf("%c",t[k][w]);
fflush(stdin);
getchar();
return 0;
}

 

Póki co jest to mój kod, nie mam pojęcia jak ograniczyć wyświetlanie. Gdy kombinowałem z wielkością tablicy aby mogła pomieścić ilość danych do 1000 to wyrzucało mi że przekorczyłem wielkość tablicy. Kompilator którego uzywam to Microsoft Visual Studio C++ 2010 Express.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie znam się na C, ale do dwóch pierwszych zadań wystarczą pętle for i tablica o wielkości [W][H] <= 1000 oraz pętla for od 1 do 10.

Przyjmując, że szerokość tablicy to W, wysokość to H:

Średnia wartość tablicy jest sumą tablicy podzieloną przez jej wielkość. Suma pierwszego wiersza jest równa W(W+1)/2 (ciąg arytmetyczny). Drugi wiersz jest 2 razy większy, trzeci - 3x większy itd.

Z tego wynika, że suma tablicy jest wielokrotnością sumy pierwszego wiersza. Wielokrotność ta jest równa H(H+1)/2 (również ciąg arytmetyczny). Wynik wystarczy podzielić przez W*H.

Odnośnik do komentarza
Udostępnij na innych stronach

Chodzi o to byś miał tam przesuwanie "viewa", da?

Wystarczy, że to przerobisz:

for (k=1;k<=10;k++){
    for (w=1;w<=10;w++){
        t[k][w]=(k+1)*(w+1);
    }
}

I zrobisz, że będzie dodawało d tego (k+1) i (w+1) pozycję widoku. :)

Dalej już wiesz? :P

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...