Skocz do zawartości
Mateo-1985

Wypełnianie i wyświetlanie tablicy

Rekomendowane odpowiedzi

Witam potrzebuje waszej pomocy a mianowicie nie wiem jak wypełnić tablice dwuwymiarową liczbami od 1 do 'n'. do tego jeszcze dochodzi problem związany z tym ze wypełnienie ma sie zaczynać od 'm' miejsca np. m=4

 

 

_ _ _ 1 2 3

4 5 6 7 8 9

10 11 itd az do 'n'

 

a następnie tablica ta ma sie wyświetlać

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

O ile dobrze rozumiem twój problem to będzie tak :

#include <iostream>#include <conio>int main(){  int tablica[100][100];  int *wskaznik = &tablica[0][0] ;   // ustawienie wskaźnika na tablice  int m , n;  cout << "podaj n (do ilu liczb): ";  cin >> n;  cout << "podaj m (od jakiego miejsca): ";  cin >> m;  for ( int i = m-1, k = 1; i < n+m-1; i++ , k++) wskaznik[i] = k;   // wpisanie do tablicy   for ( int j = 0; j < n+m-1; j++) cout << wskaznik[j] << endl ;   // odczyt z tablicy  getch();  return 0;}

Te początkowe wartości które zostają opuszczone zainicjowane są zerami, chyba że wcześniej sam do nich czegoś nie wpiszesz i są oczywiście takie caly czas.

 

Jak podasz że w tablicy ma być 5 el. a zaczynać się ma od 3, to czy wyświetlenie i zapis

 

ma być tak :

0 0 1 2 3 4 5 // tu zapisze i pokaże 5 el. od 3 miejsca

 

czy tak :

0 0 1 2 3 // a tu pokaże i zapisze 5 el od początku tablicy

 

I jeszcze to:

wypełnienie ma sie zaczynać od 'm' miejsca np. m=4

 

_ _ _ 1 2 3  

Czyli podając m = 4 on zacznie wypełniać od tablica[3] , a element tablicy 0 , 1 , 2 zostawi w spokoju.

Czyli mówiąc krótko najmniejsza podaną liczba m ma być 1 , bo zera nie chcesz.

O to chodzi ???

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

razor1: wszystko sie zgadza za wyjatkiem kasy ;)

 

1) tablice deklarujesz nie jako zmienna globalna, tylko lokalna, to co masz deklarowane jako zmienne lokalne NIE JEST na poczatku zerami tylko przypadkowymi wartoscami z pamieci (trzeba sobie wyzerowac.

2) uzywajac wskaznika do zerowego elementu trzeba pamietac ze jego wartosc jest po wpisywaniu liczb do tablicy ustawiona na koniec wypelnienia, czyli pomiedzy forami brakuje kolejnego przypisanioa do niego poczatku tablicy

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tak wiem i pamiętam cały czas o inicjalizacji lokalnej zapomniałem zmienić na int tablica[100][100] = {0} ; przy dodaniu tego opisu :) .

 

Wskaźnik ma to do siebie że łatwo go przestawić na chciane miejsce. :) Wiem o co ci chodzi ale stosując zapis tablicowy dla wskaźników czyli np. wskaznik[j] nie trzeba ustawiać go spowrotem na początek bo ta metoda gwarantuje jego normalne przesuwanie.

Co innego gdyby to był zapis *wskaznik++ czyli z przyrostem , to wtedy by trzeba było pomiędzy for ustawić go na poczatek.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tak wiem i pamiętam cały czas o inicjalizacji lokalnej zapomniałem zmienić na int tablica[100][100]  = {0} ; przy dodaniu tego opisu :) .

 

Wskaźnik ma to do siebie że łatwo go przestawić na chciane miejsce. :) Wiem o co ci chodzi ale stosując zapis tablicowy dla wskaźników czyli np.  wskaznik[j] nie trzeba ustawiać go spowrotem na początek bo ta metoda gwarantuje jego normalne przesuwanie.

Co innego gdyby to był zapis *wskaznik++  czyli z przyrostem , to wtedy by trzeba było pomiędzy for ustawić go na poczatek.

fakt sorki za wtope ;) nakladam na siebie zakaz odpisywani na posty zaraz po obudzeniu :|

 

w delphi? to znaczy w pascalu?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...