zadanie;/

0

witam mam problem dostalem takie zadanie wprowadz do tablicy jednowymiarowej i wyprowadzje w kolejnosci odwrotniej mam to zrobic na uniach i strukturach ! wie ktos jak moge takie cos zrobic :D ? z gory dzieki za pomoc !

0

Moze troche bardzxiej szczegolowo? Co wprowadz? Gdzie wprowadz?

0

bo jesli tylko liczby to po kiego tam jakies struktury najpierw wprowadzasz i masz jakas zmienna licznik np i a na koniec dajesz od tego i do 0 wypisujesz i jest w odwrotnej kolejnosci

0
var
tablica : array of string;
z, i: integer;
begin
z:= 7; //liczba danych
SetLength(tablica,z);
for i:=0 to z-1 do
 begin
  tablica[i] := memo.lines[i];
 end;

for i:=z-1 downto 0 do
 begin
  memo2.lines[i] := tablica[i];
 end;

end;

<font color="red">Pisze z głowy - nie testowałem</span>

wiem, że to delphi, ale do BCB nie wiele trzeba zmieniać... odpowiednie "." na "->" i bedzie działać...

Rozwiązanie prymitywne, ale i problem nie podany jakoś sensownie... trzeba by to w 2 funkcje zamknąć, zadeklarować na początku unitu nowy typ dany

TTablica = array of string; a potem w funkcji w var deklarować tablica: TTablica i taki argument ewentualnie przekazać funkcji odwracającej (druga instrukcja for...)

//do postu niżej...

no, to ten kodzik pomoże, zamiast memo.lines[i] dajesz nazwe stringa (np. zmienna[i]) i masz odwróconego....

Tylko jak już wyżej napisałem - lepiej to w funkcji zapisać, bo tak to troche na brudno jest :P

0

wiec mam wprowadzic jakis dowolny ciag znaczkow a wyprowadzic ten sam ciag tylko ze w odwrotnej kolejnosci

0
void swap(char* str){
  int j=strlen(str);
  int i=(j--)/2;
  while(i--){
    str[i]^=str[j-i];
    str[j-i]^=str[i];
    str[i]^=str[j-i];
  }
}

Tyle tylko, że to rozwiazanie jest bez sensu, bo korzystasz z tablic, żadnych unii, czy struktur :-P (albo zadanie jest bezsensownie sformuowane)

0

wg. mnie trzeba skozystac ze stosu
albo jezeli tylko tablica to rozwiazanie wpisywac w normalnej kolejnosci i wyciaganie w odwrotnej (w sumie stos :P)

0

void zmien(int& a, int& b)
{
int temp=a;
a=b;
b=temp;
}
void odwroc(int *tab, int left, int right)
{
if (left<right)
{
zmien(tab[left],tab[right]);
odwroc(tab,left+1,right-1);
}
}
void main()
{
int tab1[8]={1,2,3,4,5,6,7,8};
for (int i=0; i<8; i++)
cout << tab1[i]<<" ";
cout<<endl;
odwroc(tab1,0,7);
for (i=0; i<8; i++)
cout << tab1[i]<<" ";
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1