Перейти к содержимому


Фото

Программирование


  • Please log in to reply
81 ответов в этой теме

#1 Iron

Iron

    Искатель приключений

  • Members
  • 12 сообщений

Отправлено 28 February 2009 - 17:33

Привет!Народ тут есть кто-нибудь кто знает язык С?
очень нужна помощь и обьяснение в решении задачи.

#2 Miss Trent

Miss Trent

    Оракул

  • Members2
  • PipPipPipPipPip
  • 2312 сообщений

Отправлено 01 March 2009 - 04:05

мм... меня этому аж год учили. мож че помню. а в чем суть задачи?
Один не разберёт, чем пахнут розы
Другой из горьких трав добудет мёд
Дай хлеба одному - навек запомнит
Другому жизнь пожертвуй - не поймёт


#3 Iron

Iron

    Искатель приключений

  • Members
  • 12 сообщений

Отправлено 01 March 2009 - 13:05

суть в том чтобы сделать эти 2 задачи...

1)Заполнить матрицу размера 5 на 5 цифрами (не числами) таким образом, чтобы цифры
в строках и столбцах не повторялись, совпадали суммы цифр по столбцам и по
строкам, а также были бы простыми все пятизначные числа, изображенные строками и
столбцами матрицы

2)Задана обратная польская запись (например, "1 2 +" для выражения "1 + 2", "X 3 Y
* +" для "X + 3 * Y", "X 3 + Y *" для "( X + 3 ) * Y") некоторого простого
выражения, не содержащего вхождений идентификаторов. Вычислить значение этого
выражения.

#4 Best

Best

    Искатель приключений

  • Members
  • 17 сообщений

Отправлено 01 March 2009 - 14:07

Iron, а что тут сложного?
Может быть вы не на то пошли учиться?

1 задача:

1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4

#5 TheBest

TheBest

    Профессор

  • Members2
  • PipPipPipPip
  • 1115 сообщений

Отправлено 01 March 2009 - 14:08

Извините, забыл уже старый логин-пароль :)

#6 -=RIP=-

-=RIP=-

    Профессор

  • Members2
  • PipPipPipPip
  • 1497 сообщений

Отправлено 01 March 2009 - 19:48

TheBest, а теперь то же самое, только на С B)

#7 TheBest

TheBest

    Профессор

  • Members2
  • PipPipPipPip
  • 1115 сообщений

Отправлено 01 March 2009 - 21:52

-=RIP=-, а какой в этом смысл для меня лично?

#8 Andariel

Andariel

    Расхититель

  • Members2
  • PipPipPipPipPip
  • 6450 сообщений

Отправлено 02 March 2009 - 02:17

TheBest, да хоть просто херней пострадать из-за бессонницы. (я как раз этим и занимаюсь)

Хых... была у меня когда-то С++. Если сильно большая разница в компиляторах - не мои проблемы.

Вторую может и сделаю если пойму что надо делать. :)
А в первой задаче не поняла ту часть где про простые числа. 1, 2, 3, 5 и 7 - вроде простые.
#include <iostream.h> 

int main ()
{
int m[5][5];   // m - матрица 5х5
int i, j;	// i, j - это номера рядков/столбцов (не помню как правильно называются)

// присваиваем значения переменным (можно сделать круто, циклами. но проще вручную)
m[1][1]=1; m[1][2]=2; m[1][3]=3; m[1][4]=5; m[1][5]=7;
m[2][1]=2; m[2][2]=3; m[2][3]=5; m[2][4]=7; m[2][5]=1;
m[3][1]=3; m[3][2]=5; m[3][3]=7; m[3][4]=1; m[3][5]=2;
m[4][1]=5; m[4][2]=7; m[4][3]=1; m[4][4]=2; m[4][5]=3;
m[5][1]=7; m[5][2]=1; m[5][3]=2; m[5][4]=3; m[5][5]=5;

// теперь выводим матрицу на экран
for (i = 0; i < 5; i++)
{
	for (j = 0; j < 5; i++)
		cout<<m[i][j]<<" ";
	cout<<endl;
}
}
Была бы Си под рукой - было бы проще, а то это - все, что еще помню...

#9 -=RIP=-

-=RIP=-

    Профессор

  • Members2
  • PipPipPipPip
  • 1497 сообщений

Отправлено 02 March 2009 - 04:27

-=RIP=-, а какой в этом смысл для меня лично?

Если нет смысла, тогда зачем вообще писать в тему? К тому же, насколько я понимаю, тема создавалась с конкретной просьбой: помочь с алгоритмом, причём на языке С, а вовсе не на русском.

#10 TheBest

TheBest

    Профессор

  • Members2
  • PipPipPipPip
  • 1115 сообщений

Отправлено 02 March 2009 - 19:32

-=RIP=-,
во-1, если знать алгоритм, то проблем написать его хоть на японском, хоть на Си возникнуть не должно (если знать грамматику языка);
во-2, помогая автору мы совершаем ужасную ошибку, ибо ему нахрен не нужны знания, ему нужна положительная оценка. Если не знать таблицу умножения, то о теореме Тейлора можно и не думать.
Не надо помогать плодить горе-специалистов, тем более, что они сами в дальнейшем будут страдать от неправильного выбора профессии;
в-3, мне есть что делать и (искусство ради искусства) решать элементарнейшие студенческие задачки не входит в мои планы;


Ссори за матрицу, не вчитался про простые цифры.

Andariel, непомню точно, но кажется в Си cin, cout нет, вместо них printg, scanf. Хотя могу ошибаться, давно это было.

#11 -=RIP=-

-=RIP=-

    Профессор

  • Members2
  • PipPipPipPip
  • 1497 сообщений

Отправлено 02 March 2009 - 21:16

TheBest, всё-таки твоё присутствие здесь при нежелании помогать непонятно, видится сплошной "выпендрёж" ("мне есть что делать и (искусство ради искусства) решать элементарнейшие студенческие задачки не входит в мои планы" и т.п.). Т.е. я хочу сказать: при таких логике и отношении к человеку зачем вообще здесь что-то отписывать? Ей-богу, непонятно.

Сообщение изменено: -=RIP=- (02 March 2009 - 21:17)


#12 Andariel

Andariel

    Расхититель

  • Members2
  • PipPipPipPipPip
  • 6450 сообщений

Отправлено 02 March 2009 - 21:22

А каждый из вас в чем-то прав...

Andariel, непомню точно, но кажется в Си cin, cout нет, вместо них printg, scanf. Хотя могу ошибаться, давно это было.

Ну незнала... :unsure:
Я и С++ всего 4 пары (зачет - не в счет) 3 года назад видела.

Сообщение изменено: Andariel (02 March 2009 - 21:25)


#13 TheBest

TheBest

    Профессор

  • Members2
  • PipPipPipPip
  • 1115 сообщений

Отправлено 02 March 2009 - 22:07

-=RIP=-

помощь есть, если я не выдаю готовых решений на С и не стремлюсь сделать за обучаемого его задания, это еще не значит, что я не помогаю.

Т.е. я хочу сказать: при таких логике и отношении к человеку зачем вообще здесь что-то отписывать? Ей-богу, непонятно.

я написал готовый результат, разьве это не помощь?


Прежде чем искать сучок в глазе другого, посмотри на бревно в своем. Ты вообще ничего по теме не сказал, кроме как обвинений других в выпендреже и etc.


По-моему автору надо хорошо подумать стоит ли заниматься этим геммором всю жизнь, дальше будет только хуже и оценки ему ставить никто не будет, а будут платить за результат в реальных задачах (а не матрицы заполнять)

Сообщение изменено: TheBest (02 March 2009 - 22:17)


#14 Miss Trent

Miss Trent

    Оракул

  • Members2
  • PipPipPipPipPip
  • 2312 сообщений

Отправлено 02 March 2009 - 23:19

все что я помню по второму примеру так это то, что запись такого вида называется инверсной. гугл в помощь
Один не разберёт, чем пахнут розы
Другой из горьких трав добудет мёд
Дай хлеба одному - навек запомнит
Другому жизнь пожертвуй - не поймёт


#15 Robert Langdon

Robert Langdon

    Археолог

  • Members2
  • PipPipPip
  • 918 сообщений

Отправлено 03 March 2009 - 00:25

TheBest, да хоть просто херней пострадать из-за бессонницы. (я как раз этим и занимаюсь)

Хых... была у меня когда-то С++. Если сильно большая разница в компиляторах - не мои проблемы.

Вторую может и сделаю если пойму что надо делать. :)
А в первой задаче не поняла ту часть где про простые числа. 1, 2, 3, 5 и 7 - вроде простые.

#include <iostream.h> 

int main ()
{
int m[5][5];   // m - матрица 5х5
int i, j;	// i, j - это номера рядков/столбцов (не помню как правильно называются)

// присваиваем значения переменным (можно сделать круто, циклами. но проще вручную)
m[1][1]=1; m[1][2]=2; m[1][3]=3; m[1][4]=5; m[1][5]=7;
m[2][1]=2; m[2][2]=3; m[2][3]=5; m[2][4]=7; m[2][5]=1;
m[3][1]=3; m[3][2]=5; m[3][3]=7; m[3][4]=1; m[3][5]=2;
m[4][1]=5; m[4][2]=7; m[4][3]=1; m[4][4]=2; m[4][5]=3;
m[5][1]=7; m[5][2]=1; m[5][3]=2; m[5][4]=3; m[5][5]=5;

// теперь выводим матрицу на экран
for (i = 0; i < 5; i++)
{
	for (j = 0; j < 5; i++)
		cout<<m[i][j]<<" ";
	cout<<endl;
}
}
Была бы Си под рукой - было бы проще, а то это - все, что еще помню...

Andariel, в массиве из пяти элементов индексы от 0 до 4 :)

И, думаю, в задаче требуется заполнить массив параметрически присвоив в цикле m[j][i] = f(i, j), где f(i, j) некая функция соответствующая условию :)

например так:

int primes[] = {1, 2, 3, 5, 7};
for(j = 0; j < 5; j++)
for(i = 0; i < 5; i++)
m[j][i] = primes[(i + j) % 5];

все что я помню по второму примеру так это то, что запись такого вида называется инверсной. гугл в помощь

http://trubetskoy1.narod.ru/ppn.html третий пункт вот прям как раз что надо. как же хорошо сейчас лентяям живётся...

#16 -=RIP=-

-=RIP=-

    Профессор

  • Members2
  • PipPipPipPip
  • 1497 сообщений

Отправлено 03 March 2009 - 05:02

TheBest

Давай не будем про пиломатериал в глазах, Ок? Это как-то некультурно.
Я ещё раз повторю, что теория (твои посты) и готовый ответ (что и нужно было человеку) - совсем не одно и то же. Также, не тебе судить человека (и его способности к чему-либо), если ты его совсем не знаешь - может быть, он только-только начинает. Свой вариант я не рискнул приводить, т.к. С давно не использую на практике и могу ошибиться. Ну а Iron'у конечно стоило бы искать ответ на спец.форумах, благо что их сейчас уйма.

Сообщение изменено: -=RIP=- (03 March 2009 - 05:04)


#17 Andariel

Andariel

    Расхититель

  • Members2
  • PipPipPipPipPip
  • 6450 сообщений

Отправлено 03 March 2009 - 10:52

Andariel, в массиве из пяти элементов индексы от 0 до 4 :)

Туплю однако :D
Мне пора в первый клас...

Свой вариант я не рискнул приводить, т.к. С давно не использую на практике и могу ошибиться.

Я вот предложила. В полвторого ночи... Правда ничего хорошего из этого не получилось :)

Ну а Iron'у конечно стоило бы искать ответ на спец.форумах, благо что их сейчас уйма.

+1

Сообщение изменено: Andariel (03 March 2009 - 11:05)


#18 TheBest

TheBest

    Профессор

  • Members2
  • PipPipPipPip
  • 1115 сообщений

Отправлено 03 March 2009 - 19:15

-=RIP=-
Правда глаза режет? ;)
Давай ты не будешь мне говорить что надо делать и я не скажу куда тебе идти?


Готовые ответы не выдаю, я не энциклопедия и не обязан это делать.
В тоже время, я не считаю, что должен не отвечать по заведомо оффтопной теме (т.к. она не соответствует тематике форума вообще) и вообще по любой теме, на то она и создавалась.

По поводу "теории" я уже написал, что это все можно написать хоть на японском языке, хоть блок-схему слабать, главное, чтобы человек стремился к этому. А тут другой вариант, т.к. автор даже не появился и не отметился постом за несколько дней.

Талантам надо помогать, бездарности пробьются сами.

#19 -=RIP=-

-=RIP=-

    Профессор

  • Members2
  • PipPipPipPip
  • 1497 сообщений

Отправлено 03 March 2009 - 19:42

TheBest

Я бы конечно мог ответить (ну или ещё кой-чего сделать) в твоей инфантильно-самовлюблённой манере "самдурак", но не стану этого делать (т.к. боюсь, что крупицы полезной инфы от других пользователей потонут в бесконечном потоке твоего бессмысленного оффтопа).

#20 Iron

Iron

    Искатель приключений

  • Members
  • 12 сообщений

Отправлено 04 March 2009 - 17:16

Andariel прости а где у тебя условие что сумма по строкам и столбцам совпадает?и что цифры не повторялись?
а насчет простоты имееться ввиду чтобы в строке 5 значное число было простым.

http://trubetskoy1.narod.ru/ppn.html третий пункт вот прям как раз что надо. как же хорошо сейчас лентяям живётся...

я находил эту ссылку,но честно не очень понял как ее применить к данной конкретной задаче...

Сообщение изменено: Iron (04 March 2009 - 17:17)


#21 Andariel

Andariel

    Расхититель

  • Members2
  • PipPipPipPipPip
  • 6450 сообщений

Отправлено 04 March 2009 - 19:49

Простое число - это то число, которое делится только на себя и на 1.
Это значит что еще из каждых 5 цифр в каждой строке должно получится 5-значное простое число?
И сумма чисел должна совпадать?
И прога сама должна числа расставлять?

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

#22 Robert Langdon

Robert Langdon

    Археолог

  • Members2
  • PipPipPip
  • 918 сообщений

Отправлено 04 March 2009 - 21:15

1)Заполнить матрицу размера 5 на 5 цифрами (не числами) таким образом, чтобы цифры
в строках и столбцах не повторялись, совпадали суммы цифр по столбцам и по
строкам, а также были бы простыми все пятизначные числа, изображенные строками и
столбцами матрицы

оу, я тут тоже малость проглядел условие...
итак, если можно, несколько уточнений:
1) в пределах каждой строки и каждого столбца содержатся пять разных цифр
2) суммы цифр каждого из столбцов и каждой из строк одинаковые
3) каждая стока и каждый столбец образуют простое число

что-то я пока с большим трудом могу себе представить как это можно сделать :blink:

2)Задана обратная польская запись (например, "1 2 +" для выражения "1 + 2", "X 3 Y
* +" для "X + 3 * Y", "X 3 + Y *" для "( X + 3 ) * Y") некоторого простого
выражения, не содержащего вхождений идентификаторов. Вычислить значение этого
выражения.

"не содержащего вхождений идентификаторов" означает, что выражение не содержит агрументов (x, y, etc)?

#23 TonX

TonX

    Расхититель помидоров

  • Members2
  • PipPipPipPipPip
  • 4582 сообщений

Отправлено 04 March 2009 - 22:09

что-то я пока с большим трудом могу себе представить как это можно сделать :blink:

Думаю, через рандомайз и проверку условий. Правда, кодер из меня всегда был хреновый ))

#24 Robert Langdon

Robert Langdon

    Археолог

  • Members2
  • PipPipPip
  • 918 сообщений

Отправлено 05 March 2009 - 08:59

что-то я пока с большим трудом могу себе представить как это можно сделать :blink:

Думаю, через рандомайз и проверку условий. Правда, кодер из меня всегда был хреновый ))

Тогда уж брутфорс, однако проверка пятизначного числа на простоту задача довольно ресурсоёмкая

#25 TonX

TonX

    Расхититель помидоров

  • Members2
  • PipPipPipPipPip
  • 4582 сообщений

Отправлено 05 March 2009 - 09:31

Тогда уж брутфорс, однако проверка пятизначного числа на простоту задача довольно ресурсоёмкая

Собственно, брутом я и предлагал. Но ресурсов и правда пожрётся нехило. Может, всё-таки сделать надо в голове, а накодить простым выводом матрицы, как Андариэль сделала?




3 посетителей читают эту тему

0 пользователей, 3 гостей, 0 скрытых