С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 18.05.2010
Сообщений: 11

В двумерном массиве поменять местами в каждой строке первый отрицательный и последний положительный элемент.

18.05.2010, 22:15. Показов 1906. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста решить задачку!Что-то аналогичной нигде найти не могу!В двумерном массиве поменять местами в каждой строке первый отрицательный и последний положительный элемент.

Добавлено через 21 минуту
Неужели никто не может помочь??
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.05.2010, 22:15
Ответы с готовыми решениями:

Поменять местами в каждой строке первый отрицательный и последний положительный
Горю на экзамене:((((( помогите решить задачи!!!!! 1. Дан двумерный массив С целых чисел. Поменять местами в каждой строке первый...

Поменять местами первый положительный и последний отрицательный элемент
Дан массив целых чисел из 15 элементовб заполненный случайным образом числами на промежутке . Поменять местами первый положительный и...

В массиве поменять местами 2 элемента: первый положительный и последний отрицательный
Помогите пожалуйста написать: В заданном одномерном массиве целого типа поменять местами следующие 2 элемента: первый положительный и...

5
233 / 95 / 15
Регистрация: 31.12.2009
Сообщений: 224
19.05.2010, 12:22
Могём, конечно )

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
program Matrix;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
const
  ColCount = 3; // кол-во столбцов
  RowCount = 3; // кол-во строк
 
type
  TMatrix = array [0..RowCount - 1, 0..ColCount - 1] of Integer;
 
// инициализируем матрицу
procedure InitMatrix(out ArgM: TMatrix);
var
  I, J: Integer;
begin
  for I := 0 to RowCount - 1 do
    for J := 0 to ColCount - 1 do
      ArgM[I, J] := Random(10) - 5;
end;
 
// вывод на экран
procedure PrintMatrix(ArgM: TMatrix);
var
  I, J: Integer;
begin
  for I := 0 to RowCount - 1 do
  begin
    WriteLn;
    for J := 0 to ColCount - 1 do Write(Format('%2d|', [ArgM[I, J]]));
  end;
end;
 
// реализация задания
procedure SwapElements(var ArgM: TMatrix);
var
  I, J, Buffer: Integer;
  FirstPositive: Integer;
  FirstPositiveFound: Boolean;
  LastNegative: Integer;
begin
  for I := 0 to RowCount - 1 do
  begin
    FirstPositiveFound := False;
 
    for J := 0 to ColCount - 1 do
    begin
      if (ArgM[I, J] > 0) and not FirstPositiveFound then
      begin
        FirstPositiveFound := True;
        FirstPositive := J;
      end;
      
      if ArgM[I, J] < 0 then
      begin
        LastNegative := J;
      end;
    end;
 
    Buffer := ArgM[I, LastNegative];
    ArgM[I, LastNegative] := ArgM[I, FirstPositive];
    ArgM[I, FirstPositive] := Buffer;
  end;
end;
 
var
  M: TMatrix;
 
begin
  Randomize;
  InitMatrix(M);
  WriteLn('Before Swap');
  PrintMatrix(M);
  WriteLn;
  SwapElements(M);
  WriteLn('After Swap');  
  PrintMatrix(M);
  WriteLn;
  WriteLn('Press <Enter> to exit');
  ReadLn;
end.
1
0 / 0 / 0
Регистрация: 18.05.2010
Сообщений: 11
19.05.2010, 15:07  [ТС]
спасибо за сторания,но мы так не решаем через процедуры((у нас все проще через стрингрид1 вводим данные,а через стринггрид2 выводим!вот пример задачи для одномерного массива,а вот для двумерного не могу сделать((
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
procedure TForm1.Button1Click(Sender: TObject);
a: array [1..10] of integer;
 i,j,f,m:integer;
 n, k, code,p,s:Integer;
 
begin
repeat
 n:=StrToInt(InputBox('Ввод данных','Ввод количества элементов',''));
until n>2;
  for i:=0 to n-1 do
   begin
   StringGrid1.Cells[i,0]:='';
StringGrid2.Cells[i,0]:='';
   end;
 
StringGrid1.Colcount:=n;
StringGrid1.Width:=n*StringGrid1.DefaultColWidth+15;
StringGrid1.Visible:=true;
StringGrid2.Colcount:=n;
StringGrid2.Width:=n*StringGrid2.DefaultColWidth+15;
StringGrid2.Visible:=true;
for i:=1 to n do
  begin
        repeat
        st:=InputBox('ввод данныx','a('+IntToStr(i)+')=','');
        val( st,a[i],code);
        until code=0;
StringGrid1.Cells[i-1,0]:=intToStr(a[i]);
end;
 p:=0; [COLOR="Red"]вот эту можете половинку кода переделать??начало я могу на двумерный сделать![/COLOR]
 i:=0;
 while (p=0) and (i<=n-1) do
  begin
    i:=i+1;
    if a[i]<0 then p:=1;
  end;
 s:=0;
 j:=n+1;
 while (s=0) and (j>=2) do
  begin
    j:=j-1;
    if a[j]>0 then s:=1;
  end;
 if (p=1) and (s=1) then
 begin
   f:=a[i];
   a[i]:=a[j];
   a[j]:=f;
 end;
 for i := 1 to n do
   StringGrid2.Cells[i-1,0]:=intToStr(a[i]);
end;
0
233 / 95 / 15
Регистрация: 31.12.2009
Сообщений: 224
19.05.2010, 15:23
Цитата Сообщение от Nick31 Посмотреть сообщение
В двумерном массиве поменять местами в каждой строке первый отрицательный и последний положительный элемент.
Так было дано задание? Я Вам его решил, а Вы меня теперь просите в Вашем коде разбираться и чего то править. Нехорошо.
Попробуйте разобраться в том, что я Вам написал. Если не получится, тогда пишите. Будет время, помогу
0
0 / 0 / 0
Регистрация: 18.05.2010
Сообщений: 11
19.05.2010, 15:45  [ТС]
не понимаю я все равно то,что вы написали!((Спасибо еще раз за помощь!
0
233 / 95 / 15
Регистрация: 31.12.2009
Сообщений: 224
20.05.2010, 14:24
Вот готовый проект с использованием StringGrid'ов, разбирайтесь...
Вложения
Тип файла: rar Matrix.rar (199.7 Кб, 25 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.05.2010, 14:24
Помогаю со студенческими работами здесь

Поменять местами первый отрицательный и последний положительный элемент массива
Поменять местами первый отрицательный и последний положительный елемент массива. Учесть возможность того, что отрицательные или...

Поменять местами первый положительный и последний отрицательный элементы в одномерном массиве
Дан массив целых чисел (n=10), заполненный случайным образом числами из промежутка поменять местами первый положительный и последний...

Массив: Поменять местами первый отрицательный и последний положительный элемент массива
Поменять местами первый отрицательный и последний положительный элемент массива в c#

Переставить в 1-м массиве первый отрицательный и последний положительный элемент местами
Переставить в 1-м массиве первый отрицательный и последний положительный элемент местами!

В каждой строке поменять местами первый положительный и первый отрицательный элементы
Нужно в каждой строке поменять местами первый положительный и первый отрицательный элементы. Указать, в какой строке произведение модулей...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru