• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Паскаль, 1 курс, массив, TStringGrid

  • Автор темы Автор темы mille
  • Дата начала Дата начала

mille

Новые
Регистрация
25 Ноя 2020
Сообщения
12
Реакции
0
Баллы
0
Паскаль, 1 курс, массив, TStringGrid

Массив размещаем с помощью TStringGrid с Additional
Помогите, а то я сильно тупой
 

Вложения

  • лллдл.png.webp
    лллдл.png.webp
    9.1 KB · Просмотры: 46
не слететь со стипендии.
Понятно. Только, видите ли, тут такое дело... С программированием — не пойдёт. Либо Вы осваиваете азы этой науки, а дальше всё становится просто и понятно, либо... боюсь, что слётом со стипендии дело не ограничится. Потому что вариант "тупо бездумно скатать и сдать" здесь не катит. Так что мой Вам совет: пока не поздно (а ещё ноябрь, так что время есть) беритесь за ум. Причём желательно за собственный.
 
Программирование нынче в кулинарном техникуме преподают или я упустил что? Наверное, всё-таки, вуз профильный. Смысл было связываться с тем, в чём совсем никак? Судя по тому, что речь не о гольном Паскале, а налицо уже ООП (а иначе откуда TStringGrid?), вуз таки с уклоном в программирование.
 
Программирование нынче в кулинарном техникуме преподают или я упустил что?
Вуз не профильный. Программирование ознакомительное(первый семестр).

благодарю за помощь.
 
Понятно. Только, видите ли, тут такое дело... С программированием — не пойдёт. Либо Вы осваиваете азы этой науки, а дальше всё становится просто и понятно, либо... боюсь, что слётом со стипендии дело не ограничится. Потому что вариант "тупо бездумно скатать и сдать" здесь не катит. Так что мой Вам совет: пока не поздно (а ещё ноябрь, так что время есть) беритесь за ум. Причём желательно за собственный.

Спасибо за непрошенный совет, но я вынуждена отказаться. Занимать всё своё свободное время изучением ознакомительного курса(длительностью всего 1 семестр), который я пропустила по серьезной причине, я не собираюсь.
я обращаюсь за помощью что бы просто сдать последнюю работу, а не для изучения программирования.
 
Я не профессиональный программист, как уважаемый Vladimir_S (пусть поправит меня, если я где ошибся), вот реально работающий код:

{Сетка StringGrid заполняется значениями массива на этапе создания формы.
Можно реализовать и по нажатии кнопки - это, надеюсь, непринципиально}
procedure TForm1.FormCreate(Sender: TObject);
{данные массива нам заданы, поэтому декларируем в константах}
const MyArray :array[1..4,1..4] of integer=((-4,3,2,3),(5,6,9,13),(-7,11,-8,11),(45,-4,31,-4));
var i,j: Integer;//объявляем переменные для счётчиков
begin
for i:=1 to 4 do//матрица у нас 4х4, поэтому выполняем по 4 раза для строк и столбцов
for j:=1 to 4 do
{для компонента StringGrid определяем координаты ячейки и записываем значения массива, преобразовав числовой тип в строчный}
StringGrid1.Cells[j,i]:=IntToStr(MyArray[i,j]);
end;
 
Надеюсь, мои описания простым языком будут понятны автору.
 
Для полного коленкора автору нужно использовать те же обозначения, что и в задании, видимо (R, m, NS).
 
Я не профессиональный программист, как уважаемый Vladimir_S (пусть поправит меня, если я где ошибся)
Да какое там "профессиональный"! Простой физик-экспериментатор, программки пишу при необходимости. Кстати, в ООП я, ну как бы это помягче... в общем, оно мне на практике без надобности. Даже просто динамические структуры применяю редко, обхожусь обычным классическим программированием. Задачки, правда, у меня непростые, и программы на сотни страниц.
 
Надеюсь, мои описания простым языком будут понятны автору.
Сергей, автору — может быть, а мне вот как-то не очень. Где проверка наличия повторяющихся значений?
 
Володь, ну, во-первых, по поводу повторяющихся значений я не понял, честно говоря (думал, это так, к слову в задании :) ), а, во-вторых, мои познания в программировании вообще стремятся к нулю :). Когда-то, много лет назад, я самостоятельно пытался осваивать это увлекательное занятие. А пару месяцев назад решил тряхнуть стариной и кое что освежить в памяти, написав для своей организации телефонный справочник под SQL-сервер. Вспоминать, конечно, было очень сложно - всё, что знал, и что не знал, забыл напрочь.
 
Володь, ну, во-первых, по поводу повторяющихся значений я не понял, честно говоря (думал, это так, к слову в задании :) )
Ладно, сейчас ухожу на обед, вернусь — нарисую по-простому, без ООП.
 
Ну вот, но это, к сожалению, всего лишь Pascal, а не Delphi, поэтому все дельфийские штучки (ввод/вывод, преобразование формата) я оставляю "за кадром".
Код:
Const
 m=4;
Type
 Vect=Array[1..m] of Integer;
 Matr=Array[1..m] of Vect;
Const
 R:Matr=((-4,3,2,3),(5,6,9,13),(-7,11,-8,11),(45,-4,31,-4));
Var
 NS:Array[1..m] of Integer;
 mS,i:Integer;

Function Rep(VR:Vect):boolean;
var
 b:boolean;
 p,q:Integer;
begin
 b:=FALSE;
 for p:=1 to m-1 do
  for q:=p+1 to m do
   if VR[p]=VR[q] then b:=TRUE;
 Rep:=b;
end;

Begin
 mS:=0;
 for i:=1 to m do
  if Rep(R[i]) then
   begin
    Inc(mS);
    NS[mS]:=i;
   end;
 if mS=0 then Writeln('No such strings')
 else
 begin
  Writeln('String numbers:');
  for i:=1 to mS do Write('  ',NS[i]);
 end;
 Readln;
End.
 
Назад
Сверху