Mateo-1985 Opublikowano 29 Października 2004 Zgłoś Opublikowano 29 Października 2004 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ć Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Polar Opublikowano 29 Października 2004 Zgłoś Opublikowano 29 Października 2004 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 ??? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 30 Października 2004 Zgłoś Opublikowano 30 Października 2004 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 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Mateo-1985 Opublikowano 30 Października 2004 Zgłoś Opublikowano 30 Października 2004 zapomniałem ze to ma być w delphi :( Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Polar Opublikowano 30 Października 2004 Zgłoś Opublikowano 30 Października 2004 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. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Mateo-1985 Opublikowano 30 Października 2004 Zgłoś Opublikowano 30 Października 2004 Mozecie to przedstawić w delphi???? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 30 Października 2004 Zgłoś Opublikowano 30 Października 2004 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? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Polar Opublikowano 30 Października 2004 Zgłoś Opublikowano 30 Października 2004 Mozecie to przedstawić w delphi???? Cały czas mam Delfina na dysku, ale z przepisaniem będzie trudno bo zapomniałem pascala prawie... Ale na pewno ktoś tu zna go... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Mateo-1985 Opublikowano 30 Października 2004 Zgłoś Opublikowano 30 Października 2004 Tak mzoe być w pascalu ! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...