Для тех кто не понял:
gcc начиная (если не ошибаюсь) с версии 2.8.0
память выделяему компилятором для констант , определяет как read only. Любая попытка изменения - приведет к segmentation fault.
Поэтому, задача поставлена некорректно .
У компилятора есть ключ для отключения этого - читай документацию .
Задачки для 1 класса
-
- Уже с Приветом
- Posts: 491
- Joined: 31 Oct 2000 10:01
- Location: Москва.su->Bs.As.ar->SP.br->Bs.As.ar->dallas.us
-
- Новичок
- Posts: 35
- Joined: 29 Jul 2000 09:01
- Location: UZ->Andizhan, RU->Kazan, CZ->Prague
Задачки для 1 класса
<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by timson:
[i:bc674bccf0]Question #2
We have a SQL table that shows how much money people owe:
Account Amount Owed
------- -----------
...
4532 $21.95
4533 $22.95
4534 $22.95
4535 $10.00
4536 $ 8.00
4537 $11.50
...
Write a query that shows the three accounts that owe us the most money:
(sample output)
Account Amount Owed
------- -----------
4533 $22.95
4534 $22.95
4532 $21.95
-------Мой ответ №2---------
Тут беда в том, что я так и не понял, кто им нужен - Ораклист или Sybase-овец. На всякий случай написал все, что вспомнил [img:bc674bccf0]images/smiles/icon_smile.gif[/img:bc674bccf0]
Solution for Oracle:
select Account, Owed from
( SELECT Account, Owed FROM SQLTable ORDER BY Owed DESC)
WHERE rownum < 4
[/i:bc674bccf0]<HR></BLOCKQUOTE>
тоже в голову не приходит ничего кроме как поставить уловие WHERE ROWNUM < 4 (в Oracle). А можно такое "толстое" решение [img:bc674bccf0]images/smiles/icon_wink.gif[/img:bc674bccf0]
SELECT account, owed FROM sqltable WHERE owed >=
(SELECT MAX(owed) FROM sqltable WHERE owed <
(SELECT MAX(owed) FROM sqltable WHERE owed <
(SELECT MAX(owed) FROM sqltable)))
ORDER BY owed DESC;
Удачи.
[i:bc674bccf0]Question #2
We have a SQL table that shows how much money people owe:
Account Amount Owed
------- -----------
...
4532 $21.95
4533 $22.95
4534 $22.95
4535 $10.00
4536 $ 8.00
4537 $11.50
...
Write a query that shows the three accounts that owe us the most money:
(sample output)
Account Amount Owed
------- -----------
4533 $22.95
4534 $22.95
4532 $21.95
-------Мой ответ №2---------
Тут беда в том, что я так и не понял, кто им нужен - Ораклист или Sybase-овец. На всякий случай написал все, что вспомнил [img:bc674bccf0]images/smiles/icon_smile.gif[/img:bc674bccf0]
Solution for Oracle:
select Account, Owed from
( SELECT Account, Owed FROM SQLTable ORDER BY Owed DESC)
WHERE rownum < 4
[/i:bc674bccf0]<HR></BLOCKQUOTE>
тоже в голову не приходит ничего кроме как поставить уловие WHERE ROWNUM < 4 (в Oracle). А можно такое "толстое" решение [img:bc674bccf0]images/smiles/icon_wink.gif[/img:bc674bccf0]
SELECT account, owed FROM sqltable WHERE owed >=
(SELECT MAX(owed) FROM sqltable WHERE owed <
(SELECT MAX(owed) FROM sqltable WHERE owed <
(SELECT MAX(owed) FROM sqltable)))
ORDER BY owed DESC;
Удачи.
-
- Уже с Приветом
- Posts: 5552
- Joined: 20 Mar 2001 10:01
- Location: SFBA
Задачки для 1 класса
Ну нельзя же так задачки решать, еще в школе учили - в конце решения делается проверка. Потому что и на старуху бывает проруха.
Специально ведь в примере были два совпадающих значения (причем они больше остальных).
Специально ведь в примере были два совпадающих значения (причем они больше остальных).