Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

Задачки по Си   Найти похожие ветки 

 
БарЛог ©   (2005-08-31 19:30) [0]

Дайте пожалуйста несколько задачек. А то задачника нету, а скоро экзамен сдавать. :(
За Си не садился уже несколько лет, но недавно синтаксис повторил.

Хотелось бы что-нибудь типо: заполнить матрицу по спирали...
В общем, хотелось бы пройтись по всем основным операторам.
Заранее спасибо.


 
БарЛог ©   (2005-08-31 19:31) [1]

А то когда придумываешь сам себе, то в процессе придумывания уже начинаешь думать над алгоритмом решения. В итоге задачка получается простая. :(
Хотелось бы задачки из другой головы.


 
Mystic ©   (2005-08-31 19:39) [2]

Абрамов, Гнездилова, Зима...
Задачи по программированию
Поищи в библиотеке


 
БарЛог ©   (2005-08-31 19:59) [3]

Хотелось бы в электронном виде, а то у нас библиотека... поселок в общем :(

Гугл на "Абрамов задачи по программированию скачать" не помогает :(


 
Igorek ©   (2005-08-31 20:23) [4]

Си или Си++?


 
БарЛог ©   (2005-08-31 20:27) [5]

си-си. под дос которая :)


 
palva ©   (2005-08-31 20:32) [6]

Тогда у Кернигана-Ричи. В Интернете должно быть, очень старая и классическая вещь. Они написали не только учебник но и задачник.


 
Kerk ©   (2005-08-31 20:41) [7]

Если надо могу выложить:
Kernighan, Ritchie - The C Programming Language.djvu
Navia - A quick introduction to the C language.djvu
Plauger - The standart C library.djvu
Богатырев - Язык С в cистеме UNIX.pdf
Голуб - Веревка достаточной длины чтобы выстрелить себе в ногу.pdf
Керниган, Ричи - Язык C.pdf

Только не все сразу :)

Задачников нет. :(


 
begin...end ©   (2005-08-31 20:48) [8]

> БарЛог ©   (31.08.05 19:30)

Даю простую задачу.

Имеется массив из 10 чисел. Обратить массив (на место 1-го элемента поставить 10-й, на место 2-го -- 9-й и т.д.).


 
Kerk ©   (2005-08-31 21:07) [9]

begin...end ©   (31.08.05 20:48) [8]

Оч смешно :P


 
begin...end ©   (2005-08-31 21:12) [10]

> Kerk ©   (31.08.05 21:07) [9]

Э-э-э... а что смешного-то? Человек попросил задачу -- ну, я и дал первую, что пришла в голову. Что не так?


 
Kerk ©   (2005-08-31 21:13) [11]

begin...end ©   (31.08.05 21:12) [10]

А. точно.. извини :)


 
БарЛог ©   (2005-08-31 21:23) [12]

begin...end ©   (31.08.05 20:48) [8]

# include <stdio.h>
main();
{
int i,j,mas[10];
for (i=0;i<=3;i++)
 {
 j=mas[i];
 mas[i]=mas[9-i];
 mas[9-i]=j;
 }
}

пасиба.
если кто работает в си, или помнит - проверьте синтаксис, плиз.
ну и если в алгоритме чего напутал...

А задачка и правда простая, но все равно спасибо.


 
БарЛог ©   (2005-08-31 21:25) [13]

> если кто работает в си, или помнит - проверьте синтаксис, плиз.
а то компилятора на работе нету, а где скачать - не знаю :(

ЗЫ Еще бы задачек...

ЗЗЫ Kerk ©   (31.08.05 20:41) [7]
Кернигана я уже скачал...
А что там про веревку? Это программирование?


 
Kerk ©   (2005-08-31 21:28) [14]

БарЛог ©   (31.08.05 21:25) [13]
А что там про веревку? Это программирование?


Название этой книги отражает то, что я считаю основной трудностью при
работе как с Си++, так и с Си: эти языки дают вам столько гибкости, что
если у вас нет желания и способности призвать себя к порядку, то в итоге
вы можете получить гигантский модуль не поддающейся сопровождению
тарабарщины, притворяющейся к тому же компьютерной программой. Вы
можете поистине делать все при помощи этих языков, даже если вы этого
не хотите. В этой книге делается попытка дать средство для преодоления
этой трудности в виде собрания практических правил программирования
на Си++ и Си — правил, которые, надеюсь, уберегут вас от
неприятностей, если вы будете их использовать с самого начала. Хотя
большинство из приводимых здесь правил применимы равно при
программировании как на Си, так и на Си++, я включил много материала,
относящегося лишь к миру Си++ и сконцентрированного по мере
возможности в заключительном разделе. Если вы программируете лишь
на Си, то просто игнорируйте материал по Си++, встречающийся вам в
более ранних разделах.


занимательная книжка


 
Димитрий ©   (2005-08-31 21:36) [15]

1. Дана матрица N x M случайным образом заполненная нулями и единицами. Заменить на двойки все единицы, образующие замкнутые области.
Пример:
из
10010
00101
00101
10010

получить
10020
00202
00202
10020

2. Дана матрица N x M заполненная целыми числами слева направо и сверху вниз, пример:
1 2 3 4
5 6 7 8
требуется переставить элементы, чтобы получилась матрица, заполненная сверху вниз и слева направо, пример:
1 3 5 7
2 4 6 8


 
Mystic ©   (2005-08-31 21:46) [16]

Напишу программу, которая бы в го играла ;)


 
Kerk ©   (2005-08-31 21:53) [17]

Mystic ©   (31.08.05 21:46) [16]

У меня кстати есть делфийские исходники такой проги.


 
palva ©   (2005-08-31 21:55) [18]

БарЛог ©   (31.08.05 21:23) [12]
> for (i=0;i<=3;i++)
for (i=0;i<=4;i++)


 
БарЛог ©   (2005-08-31 22:03) [19]

Димитрий ©   (31.08.05 21:36) [15]

#include <stdio.h>
main()
{
int m,n;
/*тут задаем m= ; n= ;*/
int mas[m][n],i,j,i2,j2,k;

/*сначала заполним массив*/
for (j=0; j<=n-1; j++)
 for (i=0; i<=m-1; i++)
    mas[i,j]=i+j;  /*хоть убейте - не помню, как к элементу массива обратиться, вроде так*/

/*теперь сама сортировка*/
for (j=0; j<=n-1; j++)
 for (i=0; i<=m-1; i++)
   for (j2=0; j2<=m-1; j2++)
     for (i2=0; i2<=n-1; i2++)
       {
         k=mas[i,j];
         mas[i,j]=mas[i2,j2];
         mas[i2,j2]=k;
       }
}

Четыре фора, конечно, на лицо... Но сразу почему-то ничего в голову не приходит :(
Да и спустя некоторое время не приходит :(
Над первым надо слишком много думать :(
Если есть алгоритмы - скинь плиз.

palva ©   (31.08.05 21:55) [18]
> for (i=0;i<=4;i++)
Кажись, цикл выполняется, пока условие2 истинно (i=4 нам не надо) - нумерация элементов массива с нуля. Разве не так?


 
БарЛог ©   (2005-08-31 22:04) [20]

Mystic ©   (31.08.05 21:46) [16]
Что такое го - напомни плиз.


 
Димитрий ©   (2005-08-31 22:16) [21]


> БарЛог ©   (31.08.05 22:03) [19]


> Если есть алгоритмы - скинь плиз.

Да где-то валялись, правда на Java :)


 
palva ©   (2005-08-31 22:21) [22]

> i=4 нам не надо
А чтобы поменять местами 4-й и 5-й элементы? Или я чего-то не понял?


 
БарЛог ©   (2005-08-31 22:30) [23]

Димитрий ©   (31.08.05 22:16) [21]
ды хоть на ассемблере - разобрать то можно (ну на асме, конечно, не надо :) )

palva ©   (31.08.05 22:21) [22]
Да, большое спасибо! Ошибка действительно есть. Извиняюсь, что сам запутался и вас запутал :)


 
Agent13 ©   (2005-08-31 23:16) [24]


> Kerk ©   (31.08.05 21:53) [17]
> Mystic ©   (31.08.05 21:46) [16]
>
> У меня кстати есть делфийские исходники такой проги.

Да ну? А я где-то читал, что в го компьютер заиграет ещё не скоро.


 
Канадец   (2005-08-31 23:38) [25]

БарЛог ©   (31.08.05 22:03) [19]

int m,n;
/*тут задаем m= ; n= ;*/
int mas[m][n]...


Лихо ты объявил статический массивчик в С. Смотри, погонят тебя с экзамена за такие штучки ;)

Как мимнимум так надо

const int m =3,n=5; // Whatevere dimension you have
int mas[m][n]...


И вот это

mas[i,j]

меняй на это

mas[i][j]

P.S.
Логику не проверял


 
Kerk ©   (2005-08-31 23:52) [26]

Agent13 ©   (31.08.05 23:16) [24]
Да ну? А я где-то читал, что в го компьютер заиграет ещё не скоро.


Он играет давно уже. Но достаточно серьезного игрока обыгрывать не скоро еще начнет.


 
Наиль ©   (2005-09-01 02:48) [27]

Своим студентам даю такую задачу.
В результате перестановок N цифр получается N! (факториал) комбинаций.
Например. Для 3 цифр: 123, 132, 213, 231, 312, 321. Всего 1*2*3=6 комбинаций. Найти все комбинации для 5 цифр (120 шт.) по возрастанию (т.е. без сортировки).

Думаю, в данном случае, можно в любом порядке.


 
Джо ©   (2005-09-01 04:59) [28]


>  [27] Наиль ©   (01.09.05 02:48)

По-моему, условие задачи сформулировано некорректно.

> В результате перестановок N цифр получается N! (факториал)
> комбинаций

Такому условию удовлетворяет также и "111", "222", "333". И даже: "456", "890".


 
БарЛог ©   (2005-09-01 08:19) [29]

Канадец   (31.08.05 23:38) [25]
Спасибо.
Про константы я думал, но забыл как их обьявлять :(
Про массивы тож забыл :(

Наиль ©   (01.09.05 02:48) [27]
>  Найти все комбинации для...
Кажется, это перестановками и называется.


 
Igorek ©   (2005-09-01 09:49) [30]

1.
int i = 0;
i += i+++++i;

чему равно i?

2.напиши выражение min(x,y,z)


 
palva ©   (2005-09-01 11:13) [31]

С подколкой:

char c1;
char c2[5];
char c3[5,5];
char c4[] = "***";

Чему равно
1. sizeof(c1)
2. sizeof(c2)
3. sizeof(c3)
4. sizeof(c4)


 
default ©   (2005-09-01 11:19) [32]

докажи гипотезу 3x+1 и беги на ближайший матфакультет для написания кандидатской
нужно доказать что при любом натуральном x следующий код завершит работу

while x <> 1 do
 if Odd(x) then x := 3 * x + 1
   else X := x div 2


 
alpet ©   (2005-09-01 11:31) [33]

С форума wasm.ru: написать программу вычисляющую все возможные состояния кубика рубика размером 2x2 (если есть желание - с любым кол-вом размерностей, но это весьма сложно).

default ©   (01.09.05 11:19) [32]

Он завершит, но это зависит не от алгоритма, а от разрядности числа x (наиболее долго будет с int64, а если div заменить на / то с Extended). Реальная же проверка должна быть на больших(очень) числах, что кстати тоже интересная задача - написать к примеру на Си алгоритм умножения 256-байтных чисел.


 
Mystic ©   (2005-09-01 11:40) [34]

Правила:
http://go.hobby.ru/school-02.htm

Тут с объяснениями и задачками:
http://www.playgo.to/interactive/russian/

Тут программка для разминки на поле размером 9x9 (оригинал 19x19)
Позволяет понять правила :)
http://www.kiseido.com/download.htm

Страничка, посвященная игре:
http://go.hobby.ru/

Тут можно порешать задачки:
25-15 кю: http://gobase.org/studying/problems/academy/?lev=1&off=0
15-5 кю: http://gobase.org/studying/problems/academy/?lev=2&off=0
5-1 кю: http://gobase.org/studying/problems/academy/?lev=3&off=0
1 кю - 4 дан: http://gobase.org/studying/problems/academy/?lev=4&off=0

Да, если напишешь программу, обыграющего профессионала, то получишь небольшой приз в размере десяти мегадолларов :) Есть призы поскромнее для более скромных достижений.

>>> У меня кстати есть делфийские исходники такой проги.
Можешь поделиться?


 
БарЛог ©   (2005-09-02 12:51) [35]

Igorek ©   (01.09.05 09:49) [30]
1. 1 байт
2. 5 байт + длина массива тоже наверно хранится = 6 байт
3. 5*5 байт + 2 байта (размерность массива) = 27 байт
4. А так разве можно? :)

Прав?


 
Тульский ©   (2005-09-02 13:08) [36]


> Димитрий ©   (31.08.05 21:36) [15]

Задача №1 это фрагмент реализации игры Го. "Точки" по-русски.


 
Mystic ©   (2005-09-02 13:56) [37]

> "Точки" по-русски.

Точки это далеко не го. Точки это скорее всего вариант атари-го, да и то нечеткий.


 
БарЛог ©   (2005-09-02 14:46) [38]

alpet ©   (01.09.05 11:31) [33]
> написать к примеру на Си алгоритм умножения 256-байтных чисел.
Не совсем понял... это числа, которые max=(8^256)-1 ?


 
wal ©   (2005-09-02 15:08) [39]


> Не совсем понял... это числа, которые max=(8^256)-1 ?
Это [0..256^256-1]


 
Lamer@fools.ua ©   (2005-09-02 16:00) [40]

>>БарЛог ©   (02.09.05 12:51) [35]

>1. 1 байт
2. 5 байт + длина массива тоже наверно хранится = 6 байт
3. 5*5 байт + 2 байта (размерность массива) = 27 байт
4. А так разве можно? :)


1. Да.
2. Нет.
3. Нет.
4. Можно.



Страницы: 1 2 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.037 c
2-1124271633
Roman9
2005-08-17 13:40
2005.09.25
dbgrid


1-1125894450
record
2005-09-05 08:27
2005.09.25
ctrl+a --- ctrl+c в Memo


1-1125561181
aybolit66
2005-09-01 11:53
2005.09.25
запуск одного экземпляра приложения


4-1122636287
Subdigger
2005-07-29 15:24
2005.09.25
GetProp и SetProp


1-1125487181
Пономарев Андрей
2005-08-31 15:19
2005.09.25
Числа с плавающей точкой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский