Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 938 • Страница 39 из 47<  1 ... 36  37  38  39  40  41  42 ... 47  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 08.09.2003
Откуда: г.Ставрополь
ядерный отход, вот так даже)), я просто вообще ноль в этом, как в программировании, так и в математике...может, если не трудно, кинешь ссылу? :)

_________________
overclockers.ru



Партнер
 

Member
Статус: Не в сети
Регистрация: 21.01.2004
Откуда: ядерная помойка
Morello писал(а):
может, если не трудно, кинешь ссылу?

конечно, не трудно:
http://www.google.com/search?q=%D1%80%D ... 1%81%D0%B0

_________________
memento mori


 

Member
Статус: Не в сети
Регистрация: 08.09.2003
Откуда: г.Ставрополь
Спасиб, оказывается это кратко называется СЛАУ. :)

_________________
overclockers.ru


 

Member
Статус: Не в сети
Регистрация: 05.05.2007
Откуда: Украина
Надо бы мне сделать курсач по делфе... Тема - "Шахматы". Подбиралась она спецом для легкого поиска и изменения исходника. На днях гуглю и вижу картину маслом: исходников шашек - навалом, шахмат под плюсы - навалом, даже есть вроде исходники под Палм. А под Дельфу - кот наплакал. Скачал парочку(больше реально не нашел), глянул - ничего не понятно. Да и не компиляться они. Одна прога - куча всяких юнитов(40 файлов всего) - не компилиться ибо что-то с подключением этих самых юнитов. Другая - проблемы с типами в АСМ-вставке(если дельфу я еще понимаю, то в асм - полный нуб).

Уточняю задачу - надо написать простейший клиент без поддержки сети, без ии(на 2 игрока),без таймера, без всяких извращений типа асм, на стандартные шахматы. Функции сохранения - минимальные или нет вообще. Главное - как можно больше использовать ООП. Если попадеться достаточно понятный код - обрежу и доделаю сам.

Хотел бы попросить этот самый "достаточно понятный код". Лучше, если он будет найден где-либо, а не написан самостоятельно. Ибо отблагодарить материально я вряд-ли смогу(а человек немало времени потратит), да и сдача в среду утром.

ЗЫ Для здачи курсовой достаточно работающей проги. Тестить ее вряд-ли будут. Потому можно схалтурить на некоторых "специфических" правилах(рокировка, взятие пешки при прохождении(вроде так)).
ЗЫЫ Програмирую я достаточно медленно(даже не владею методом быстрого набора). Мне просто жалко тратить пару месяцев на курсач, который никто и не глянет. Было бы иначе - писал бы сам и не за 3 дня до сдачи.
ЗЫЫЫ Вот что выдает проэкт при загрузке.
#77
Юнит с даным типом - в папке с проэктом. Глюк дельфы? Или глюк меня?


 

Всем доброго времени суток, вот и меня по информатике недавно грузанули на две задачки, помогите решить, знаю, что задачи простые для понимающих людей, но я полный нуб, да и учусь не на факультете информатики ( слава Богу ), так вот задачки в следующем - написать две программки на языке Turbo Pascal.
Задания: 1 работа: сформировать одномерный массив х, значениями элементов которого являются минимальные значения элементов строк массива Н ( 5х5 элементов ).
2 работа: написать подпрограмму - функцию или подпрограмму общего вида, осуществляющую заданные вычисления, и программу её тестирования. При тестировании подпрограммы использовать массивы с количеством элементов не менее 16! ( Например, А ( 16 ), В ( 4,4 )).
Работы надо сдавать завтра =), помогите пожалуйста, тонУ))))


 

Member
Статус: Не в сети
Регистрация: 05.05.2007
Откуда: Украина
Gumanist Первое задание:
Код:
uses crt;
var x:array [1..5] of byte;
    h:array [1..5,1..5] of byte;
    i,j:byte;
begin
  clrscr;
  writeln('Vvedite H:');
  for i:=1 to 5 do
    for j:=1 to 5 do
      read(h[i,j]);
  for i:=1 to 5 do
    x[i]:=255;
  for i:=1 to 5 do
    for j:=1 to 5 do
      if h[i,j]<x[i] then
        x[i]:=h[i,j];
  writeln('Iskomuj masiv:');
  for i:=1 to 5 do
    write(x[i],' ');
end.

Или надо было через функцию???

Второе - не понял условие.


 

Спасибо за первое =), второе не дописал случайно, дико сорри =), вот как оно звучит полностью: написать подпрограмму - функцию или подпрограмму общего вида, осуществляющую заданные вычисления, и программу её тестирования. При тестировании подпрограммы использовать массивы с количеством элементов не менее 16! ( Например, А ( 16 ), В ( 4,4 )). Вычислить площадь треугольника по длине его стороны и прилежащих к ней углам.


 

Member
Статус: Не в сети
Регистрация: 05.05.2007
Откуда: Украина
Второе все равно не понял. Зачем для проверки масив прикрутили??? Функцию площади я бы написал, но формулу нигде не найду.
Обрати внимание, что если первое надо было делать ч/з функцию(может это задания одной лабы?), то у тебя это решение не приймут. Я старался написать как можно проще и без функций.


 

Member
Статус: Не в сети
Регистрация: 11.01.2006
Откуда: Таганрог
P s i l o n Гениально, а если а) Препод в качестве проверки введет число больше чем 255?
б) Ну хрен с ошибкой, связанной с типом, пусть будет integer, возвратимся к пункту а), то массив х будет пустым, хотя в массиве h[i,j] в "строке" i все же есть минимальный элемент.
Первая проблема решается изменением типа обеих массивов на integer или longint (не помню как пишется точно), хотя, пофиг на память, я бы поставил вобще тип real, чтобы препод докапаться уже точно не мог.
Вторая проблема решается вобще красиво: в 12 строке X[i]:=H[i,1] (т.е. принимаем за минимальный первый элемент в i-ой строке массива H, а потом сравниваем с элементами этой строки) Чуть не забыл, вставляем эту строчку в циклы обработки массивов, т.е. перед оператором if (сравнением). Про составной оператор напомнить?


 

Member
Статус: Не в сети
Регистрация: 05.12.2005
P s i l o n
Принято что, когда находиться минимальное или максимальное число в каком-либо массиве, то первоначально таким числом является число хранящаеся в первом же элементе. И никогда не используют вот такой способ:
P s i l o n писал(а):
for i:=1 to 5 do
x[i]:=255;

Нужно лишь в условие:
Цитата:
if h[i,j]<x[i] then
x[i]:=h[i,j];

добавить:
Код:
or (j = 1)


 

Member
Статус: Не в сети
Регистрация: 11.01.2006
Откуда: Таганрог
sashar2 писал(а):
P s i l o n
Принято что, когда находиться минимальное или максимальное число в каком-либо массиве, то первоначально таким числом является число хранящаеся в первом же элементе. И никогда не используют вот такой способ:
P s i l o n писал(а):
for i:=1 to 5 do
x[i]:=255;

Нужно лишь в условие:
Цитата:
if h[i,j]<x[i] then
x[i]:=h[i,j];

добавить:
Код:
or (j = 1)

Что-то я не пойму чего вы хотите добиться последним оператором, предположим что в i-ой строке H стоят следующие элементы: 1 2 3 4 5, по логике вещей в BP7 компилятор после объявлении переменных и типов присвоит массиву X нули, в итоге получаем:
1) Значение элемента массива H[i,j] (значение =1, см. выше) меньше H[i] (нуля)?
2) Нет (т.к. 1 больше 0)
3) По оператору or, как вы предлагаете, j станет равным 1, в таком случае на каждом шаге (кроме первого) счетчик по j будет равен 2, в итоге мы получим классическое и неизбежное зацикливание.
Как мне кажется мой способ, т.е. сначало оператор присваивания, потом сравнение, это будет более благоразумнее. (т.е. после изменения каждого i x[i]:=h[i,1]


Последний раз редактировалось Kserion 03.06.2008 4:16, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 05.05.2007
Откуда: Украина
Kserion
а) А если препод введет 10^100? У нас преподы звери, но если в проге написано "байт", то они интежер не вводят.
б) Вообще прога писалась "руками гуманитария", поэтому я применил такой прием. Мне самому не нравиться. Я бы написал функцию(причем применил что-то типа твоего метода), которая ищет минимальное в строке масива и вызвал бы ее 5 раз.(это если не сидеть и не думать над оптимизацией) Но если это написал бы "гуманитарий"(да еще если они "условно" еще не знают функций...), то возникли бы страшные сомнения в самостоятельности написания. По своему опыту знаю - если не знаешь програмирование, то не здавай крутые, быстрые, идеально написаные и безкосячные проги.

ЗЫ С моей проблемой кто нибудь поможет???(см. пост выше...)


 

Member
Статус: Не в сети
Регистрация: 11.01.2006
Откуда: Таганрог
P s i l o n писал(а):
Kserion
а) А если препод введет 10^100? У нас преподы звери, но если в проге написано "байт", то они интежер не вводят.



Может для гуманитария и сойдет, просто я привык в высоким требованиям преподов, от нас в подобных заданиях требовалось еще проработать вопрос, связанный с вводом некорректных символов (например ввод букв, в то время когда массив численного типа) К тому же вопросы с определением типов в своих заданиях я не встречал, либо написанно "...целочисленный массив..." или просто "...массив...", в первом случае использовали интеджер, во втором реал.


 

Member
Статус: Не в сети
Регистрация: 05.12.2005
Kserion
Я что-то вас совсем не понял.

На всякий случай приведу полностью исправленный код:

Код:
var x:array [1..5] of byte;
    h:array [1..5,1..5] of byte;
    i,j:byte;
begin
  writeln('Vvedite H:');
  for i:=1 to 5 do
    for j:=1 to 5 do
      read(h[i,j]);
  for i:=1 to 5 do
    for j:=1 to 5 do
      if (h[i,j]<x[i]) or (j=1) then
        x[i]:=h[i,j];
  writeln('Iskomuj masiv:');
  for i:=1 to 5 do
    write(x[i],' ');
end.


Смысл моего

Цитата:
or (j=1)


В том, чтобы первый элемент строки стал изначально минимальным (а не ноль или минимальное или максимальное значение как в вашем случае), а после уже идет сравнение его со всеми остальными. И только мой вариант здесь верный.

P.S>
Так же правильным был бы вариант, когда в x[i] записывается до оператора сравнения первый же элемент строки.


 

Member
Статус: Не в сети
Регистрация: 11.01.2006
Откуда: Таганрог
sashar2 писал(а):

P.S>
Так же правильным был бы вариант, когда в x[i] записывается до оператора сравнения первый же элемент строки.

Это я и предлагал в самом начале. :wink:
К сожаление отсутствие в практике сказывается, и я чего-то перемудрил.


 

Member
Статус: Не в сети
Регистрация: 05.05.2007
Откуда: Украина
http://forums.overclockers.ru/viewtopic ... 56#5026156
Ну помогите кто-нибудь. Прогу завтра здавать, а у меня ничего нет.


 

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

_________________
Вот моя персональная страница:
http://people.overclockers.ru/vanch


 

Member
Статус: Не в сети
Регистрация: 21.01.2004
Откуда: ядерная помойка
V@nch
нужно на чистом Си, или можно С++ с STL?

_________________
memento mori


 

Member
Статус: Не в сети
Регистрация: 20.11.2005
Откуда: Орск
по идеи проходим Си, но препод сказала, что можно использовать С++

_________________
Вот моя персональная страница:
http://people.overclockers.ru/vanch


 

Всем привет ещё раз, спасибо за помощь в предыдущих заданиях, появилось новое, не могу с ним справится))).
Вот тут фото с заданиями №3 и №5: http://foto.rambler.ru/users/pupok2400/_photos/1/ , помогите сделать.
Добавлено спустя 4 часа, 23 минуты, 44 секунды
Люди, помогите пожалуйста.! Срочно нужно!


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 938 • Страница 39 из 47<  1 ... 36  37  38  39  40  41  42 ... 47  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan