Форум: "Потрепаться";
Текущий архив: 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.042 c