Za zadanie mam napisac program ktory wyswietli 10 losowo wybranych liczb i jeszcze odwrotna kolejnosc tych liczb(odwrotnosc do 1 2 3 4 5 to 5 4 3 2 1).
O ile peirwsza czesc zadania nie jest trudna to mam klopot z druga.Poki co moj kod wyglada tak:
#include <stdio.h>
main()
{
int i, tablica[10] ;
srand (time (NULL)) ;
for (i=0; i<10; i++) tablica[i] = rand()%100 ;
printf ("\nTablica po inicjalizacji:\n") ;
for (i=0; i<10; i++) printf ("%i ", tablica[i]) ;
no i tutaj moja prosba moglby ktos podpowiedziec jak zabrac sie za 2 podpunkt? Nie oczekuje pelnego rozwiazania tylko wsazowki ^^ z gory dzieki
wskazówka:
i--
Zmieniony 2011-05-16 14:56:18 przez tof
załaduj je na jakąś listę i wykonaj metodę reverse ;)
ja mam lepszą wskazówkę
google
tu masz banalny przykład z MSDN
List<string> dinosaurs = new List<string>();
dinosaurs.Add("Pachycephalosaurus");
dinosaurs.Add("Parasauralophus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Coelophysis");
dinosaurs.Add("Oviraptor");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
dinosaurs.Reverse();
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
ejj Ty piszesz w C czy w C# ? Bo nazwa tematu jest co najmniej dwuznaczna ;)
w zwyklym C,
#2 juz mi pomogl, dzieki
Zmieniony 2011-05-16 15:05:29 przez WeriDo
zobacz na www.cllpsd.info
ja tam bym to tak zrobil :D
for (i=9; i>=0; i--) printf ("%i ", tablica[i])
stosami najlatwiej
Ale jak poprzednici napisali tez good.
Zmieniony 2011-05-16 15:50:34 przez ZergManner
Niektórzy tu chyba mają trochę niepokolei... Tak jak #9 tylko i wyłącznie... Jak wy tak piszecie odwrotne wyświetlanie kolejności tablicy (przerabianie na listę czy cokolwiek innego) to ja się nie dziwię, że potem ten cały soft tak wolno działa.
Czyli uwazasz ze stosowanie stackow i list spowalnia programy , i ze ogolnie nie powinno sie ich uzywac ?
tip of the day : Zlozonosc Obliczeniowa.
k
Zmieniony 2011-05-16 17:30:28 przez ZergManner
#1 Ale żeś nazwał temat. I co niby ma oznaczać ten hash?
O, to skoro ten problem został już rozwiązany, to ja może się podepnę :) i zadam też pytanie:
Chodzi mi o czyste C i POSIXa. Jak program wykonuje jakas funkcję blokującą (sleep, read...) i przyjdzie sygnał(SIGINT, SIGUSR1...), do którego zarejestrowałem swoją procedurę obslugi (poprzez sigaction) to potem jak sie skonczy ta procedura, to sterowanie wraca nie do funkcji blokującej, a do następnej instrukcji. A wiem że da sie jakos tak zrobic, zeby wrocil spowrotem do wykonywania funkcji blokujacej, facet u nas na wykladzie pokazywal jak to zrobic, ale zapomniłem, i może ktoś tutaj wie...
w Pascalu to nie wydaje sie ciezkie z tego co wiem w C tablice sa dobrze rozbudowane i latowmo nza mienic algorytm z Pascala do C :
ja bo mam tylko pascala zrobil bym tak :
Program
var
tab: array [1 .. 5] of integer;
x: integer
y : integer
begin
for x:=1 to 5 do
tab[x]:= ramdomize(n);
write(tab[x] , #9);
for x:=1 to 5 do
for y:=5 downto 1 do
tab[y]:=tab[x];
writeln(tab[y], #9);
readln;
end.
#15 Weź, bo się zrzygam!!
co ja poradze na 1st semestrze mam tylko pascala nie mam innego jezyka ;P
VMware , dobrze , debian => apache/httpd works => i all works =).
VMware tools poprostu miazdza system , drag and drop pomiedzy 2 monitorami win/debian ftw.