Forum Linux.pl

Programowanie => C/C++ => Wątek zaczęty przez: profeto w 2005-06-27, 09:30:10

Tytuł: c++ - nauka
Wiadomość wysłana przez: profeto w 2005-06-27, 09:30:10
Jak ustawić Gentoo, żeby jako zwykły użytkownik można było używać poleceń:
mount {głównie CDromy}
umount
halt -p
reboot
Oraz mieć możliwość odtwarzania płyt AudioCD [inne formaty (mp3,ogg...) dają się odtwarzać także z płyt, jedynie do AudioCD potrzeba być rootem].

Dołączyłem się do grup: audio,video,cdrom,cdrw,wheel,root,games
Ale to nic nie daje.

Wolałbym bez użycia sudo.
Tytuł: c++ - nauka
Wiadomość wysłana przez: Xax79 w 2005-06-27, 20:20:40
> mount {głównie CDromy}
 > umount
Dodac do /etc/fstab np taki wpis (zakladajac ze cdrom0 wskazuje na teojego cedeka i ze katalog /mnt/cdrom istnieje):
/dev/cdroms/cdrom0  /mnt/cdrom  iso9660  noauto,user,ro  0 0

 > halt -p
 > reboot
Osobiscie polecam sudo, w ostatecznosci mozesz zmienic prawa do tych plikow (odradzam).
Wpisze sobie takie cus do pliku /etc/sudoers
root    ALL=(ALL) ALL
user     ALL=(ALL) NOPASSWD: ALL
gdzie \\'user\\' to Ty. Wowczas wystarczy wydac polecenie:
sudo /sbin/reboot
i masz restart bez podawania hasla.

 > Oraz mieć możliwość odtwarzania płyt AudioCD [inne formaty (mp3,ogg...) dają się odtwarzać
 > także z płyt, jedynie do AudioCD potrzeba być rootem].
Byc moze dlatego, ze takie plyty system montuje automatycznie (z palca sie nie da). Jako ze nie masz uprawnien do ich montowania dostajeszc odmowe dostepu. Sproboj dodac ten wpis z pierwszego problemu do fstab\\'a i sprawdz ponownie.

 > Dołączyłem się do grup: audio,video,cdrom,cdrw,wheel,root,games
 > Ale to nic nie daje.
 >
 > Wolałbym bez użycia sudo.
Tytuł: c++ - nauka
Wiadomość wysłana przez: profeto w 2005-06-27, 23:03:59
Własnie taki wpis mam w fstabie.

W sudoers ustawiłem :
ja ALL=(ALL) NOPASSWD: ALL

I działa, choć wczoraj nie chciało zachaczyć.
Tytuł: c++ - nauka
Wiadomość wysłana przez: arti040 w 2005-06-26, 21:18:19
Witam,
czy ktos moglby mi wytlumaczyc krok po kroku jak przypisuje sie wartosci do zmiennej w ponizszym przkladzie? :

double y=9, a=2.8;
int i=4;

main()
{

y=(y=i=a++, ++i, y*=a+i-1)+i++;

cout << y endl << i endl;
}
Tytuł: c++ - nauka
Wiadomość wysłana przez: jk33 w 2005-06-26, 21:50:21
2005-06-26 21:18:19 arti040 napisał:

> Witam,
 > czy ktos moglby mi wytlumaczyc krok po kroku jak przypisuje sie wartosci do zmiennej w
 > ponizszym przkladzie? :
 >
 > double y=9, a=2.8;
 > int i=4;
 >
 > main()
 > {
 >
 > y=(y=i=a++, ++i, y*=a+i-1)+i++;
 >
 > cout << y endl << i endl;
 > }
 >

Program jest rzeczywiscie zagmatwany.

więc:
najpierw wykonywane jest y=i=a++
w takiej kolejnosci:
i=a; a jest 2,8 , ale poniewaz
i to int, czesc ulamkowa
jest ucieta -> i=2
pozniej
y=i,
na koncu a++,
czyli mamy juz i=2,y=2,a=3.8

dalej ++i,
czyli jest i=3,y=2,a=3.8

kolejno y*=a+i-1
czyli y = y * (a+i-1) = 2*(3.8+3-1) = 11.6

teraz wartosc ostatniego wyrazenia w nawiasie
podstawiana jest za caly nawias:
y = 11.6 + i++

mamy wiec:
y=11.6+3=14.6
i++ -> i=4
a=3.8

mam nadzieje, ze nie pomylilem sie nigdzie.

pozdrawiam

PS nigdy nie rob podobnych rzeczy we wlasnych
programach, bo potem nikt inny, a nawet
ty nie bedzie wiedzial co chciales
zrobic.
Tytuł: c++ - nauka
Wiadomość wysłana przez: arti040 w 2005-06-26, 22:01:11
> najpierw wykonywane jest y=i=a++
 > w takiej kolejnosci:
 > i=a; a jest 2,8 , ale poniewaz
 > i to int, czesc ulamkowa
 > jest ucieta -> i=2
 > pozniej
 > y=i,
 > na koncu a++,
 > czyli mamy juz i=2,y=2,a=3.8

A gdyby bylo  y=i=++a  to,
i=3, y=3, a=3.8 tak?

btw: to jedno zadan na egzaminie, ktory oblalem ;)
Na podstawie zrodla mialem wskazac wartosci poszczegolnych zmiennych. Dlatego teraz ucze sie jak sie je przyporzadkowywuje.
Tytuł: c++ - nauka
Wiadomość wysłana przez: jk33 w 2005-06-27, 12:34:36
2005-06-26 22:01:11 arti040 napisał:

 > y=i=++a
 > i=3, y=3, a=3.8 tak?
Tak, tak by bylo