Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/320: Рейтинг темы: голосов - 320, средняя оценка - 4.93
 Аватар для Фоат
165 / 82 / 32
Регистрация: 05.02.2010
Сообщений: 318

Способы ввода и вывода массива

11.02.2010, 09:47. Показов 64187. Ответов 63
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые Форумчане, прошу вашей помощи
покажите способы ввода и ввода массива
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.02.2010, 09:47
Ответы с готовыми решениями:

Способы вывода двумерного массива в Java
Добрый день, уважаемые форумчане! Хотелось бы узнать от вас какие есть способы вывода двумерного массива. Только чтобы матрица, выглядела...

Функции ввода/вывода двумерного массива - Тип элементов массива неполный
Доброго времени суток! // Автоматический ввод двумерного массива void Gets2ArrayRand(int** A, int M, int N) { int i,j; ...

Ошибка вывода или ввода массива символов из массива структур
#define _CRT_SECURE_NO_WARNINGS #define _UNICODE // тестовая программа. #include <iostream> #include <conio.h> //#include...

63
2 / 2 / 1
Регистрация: 15.02.2010
Сообщений: 21
17.02.2010, 21:28
Студворк — интернет-сервис помощи студентам
И что сие означает?
Нафига вносить добавление строки ListBox1.Items.Add(stroka1[i]);во внутренний цикл?
Она же принимает нормальный вид только после полного прохода внутреннего цикла?
0
 Аватар для Фоат
165 / 82 / 32
Регистрация: 05.02.2010
Сообщений: 318
17.02.2010, 21:29  [ТС]
чем смог, я тоже тока учусь , не судите строго
0
2 / 2 / 1
Регистрация: 15.02.2010
Сообщений: 21
17.02.2010, 21:33
Как обяснить то, по понятней...
Ты этот код запускать то пробовал?
У меня он выдает сосвес не то
Мне в итоге надо получить в lst1.box 10 строк по 10 столбцов разделенных пробелами.
Фактически- визуализация матрицы 10х10.
А с твоей последней задачкой сейчас код допишу - выложу там все вроде просто.
Уточняю , надо вывести коодинаты наибольшего минимума?
0
 Аватар для Фоат
165 / 82 / 32
Регистрация: 05.02.2010
Сообщений: 318
17.02.2010, 22:04  [ТС]
Уточняю , надо вывести коодинаты наибольшего минимума?[/QUOTE] спс да! сейчас попробую!

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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
      const n=3;
type
   arr=array[1..n, 1..n] of Integer;
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    ListBox1: TListBox;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  mas: arr;
  i, j, s, t:Integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 Randomize;
        for i:=1 to n Do
        for j:=1 to n Do begin
        mas[i,j]:=Random(100);
        stringgrid1.Cells[i,j]:=IntToStr(mas[i,j]);
 
 
end;
 
        for j:=1 to n do
       ListBox1.Items.Add((IntToStr(mas[1,j])) +'  : '+(IntToStr(mas[2,j]))+'  : '+(IntToStr(mas[3,j])));
end;
end.
вот тока поменяй в константе на 10 и в листе в конце до 10 добавь (IntToStr(mas[10,j]))); так что бы было
0
2 / 2 / 1
Регистрация: 15.02.2010
Сообщений: 21
17.02.2010, 22:05
Фуф- у себя нашел ошибку, оказалась банальная , я J не обнулял перед началом вложенного цикла - поправил все заработало.
Delphi
1
2
3
4
while i<10 do begin
   i:=i+1;
   j:=0;// всего навсего - по запарке не заметил
   while j<10 do begin
0
 Аватар для Фоат
165 / 82 / 32
Регистрация: 05.02.2010
Сообщений: 318
17.02.2010, 23:01  [ТС]
Цитата Сообщение от Scorpio76 Посмотреть сообщение
Фуф- у себя нашел ошибку, оказалась банальная , я J не обнулял перед началом вложенного цикла - поправил все заработало.
значить у меня опять не то ?

Добавлено через 1 минуту
Цитата Сообщение от Фоат Посмотреть сообщение
значить у меня опять не то ?
короче в конце концов показыв в лист боксе цифры которые вощли в сринг гирд

Добавлено через 2 минуты
вот вот чуть что не так он срузу ругаться, Дефи то

Добавлено через 1 минуту
Молодец

Добавлено через 49 минут
Цитата Сообщение от Scorpio76 Посмотреть сообщение
А с твоей последней задачкой сейчас код допишу - выложу там все вроде просто.
:-(:-(:-(:-(
0
2 / 2 / 1
Регистрация: 15.02.2010
Сообщений: 21
17.02.2010, 23:39
Сорь - на олимпиаду отвлекся
Вот код твоей проги:
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
unit qq1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    btn1: TButton;
    lst1: TListBox;
    lst2: TListBox;
    lst3: TListBox;
    lbl1: TLabel;
    lbl2: TLabel;
    procedure btn1Click(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  a,i,ii,j,jj,jjj,max,n,m : Integer;
  stroka : array[1..10] of ShortString;
  min : array[1..10] of Integer;
  mass : array[1..10,1..10] of Integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.btn1Click(Sender: TObject);
 begin
  n:=10;
  m:=10;
  i:=0;
 Randomize;
 max :=0;
  while i<n do begin
   i:=i+1;
   j:=0;
   min[i]:=100;
   while j<m do
   begin
     j:=j+1;
     mass[i,j]:=1+random(100);
     stroka[i]:=stroka[i]+' '+IntToStr(mass[i,j]);
      if min[i] > mass[i,j] then
      begin
        min[i]:=mass[i,j];
        jj:=j;
 
      end;
   end;
 
   if min[i] > max then
   begin
   max:=min[i];
   ii:=i;
   jjj:=jj;
   end;
    lst1.Items.add(stroka[i]);
    lst2.Items.add(IntToStr(min[i]));
  end;
  lst3.Items.add(IntToStr(max));
  lst3.Items.add(IntToStr(ii)+' '+IntToStr(jjj));
 end;
end.

Попробуй, вроде бы делает то что надо по заданию.Тока m и n приравнены к 10, но это легко исправить.
0
 Аватар для Фоат
165 / 82 / 32
Регистрация: 05.02.2010
Сообщений: 318
18.02.2010, 10:30  [ТС]
:yaho o: Сделал!!!!!!!!!



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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
        const n=3; m=3;  w=3;
type              arr=array[1..n,1..m] Of integer;
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  mas: arr;
    i, j, i1, j1, i2, j2, i3, j3: Integer;
    s, t, s1, t1, s2, t2:Integer;
  min, min1, min2, max: Integer;
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
s:=1; t:=1;
Randomize;
              min:=high(Random(100));
              min1:=high(Random(100));
              min2:=high(Random(100));
 
                                    max:=low(Random(100));
for i:=1 to n do
 for j:=1 to m do  begin
     mas[i,j]:=Random(10);
      stringgrid1.Cells[i,j]:=IntToStr(mas[i,j]);end;
 
                     begin
                     for i1:=1 to n do
                             if min>=mas[i1,1] then begin  min:=mas[i1,1];
                             s:=i1; t:=1; edit1.Text:=((IntToStr(t))+':'+(IntToStr(s))); end;end;
 
                          begin
                         for i2:=1 to m do
                             if min1>=mas[i2,2] then begin  min1:=mas[i2,2];
                             s1:=i2; t1:=2; edit2.Text:=((IntToStr(t1))+':'+(IntToStr(s1)));end; end;
 
                              begin
                         for i3:=1 to w do
                             if min2>=mas[i3,3] then begin  min2:=mas[i3,3];
                             s2:=i3; t2:=3; edit3.Text:=((IntToStr(t2))+':'+(IntToStr(s2)));end; end;
 
 
 
                                    if (min>min1) and (min>min2) then  begin
                                        edit4.Text:=((IntToStr(t))+':'+(IntToStr(s)));  end;
                                    if (min1>min) and (min1>min2) then  begin
                                            edit4.Text:=((IntToStr(t1))+':'+(IntToStr(s1)));  end;
                                     if (min2>min) and (min2>min1) then  begin
                                            edit4.Text:=((IntToStr(t2))+':'+(IntToStr(s2)));  end;
 
end;
end.
1
 Аватар для Biggemot
163 / 140 / 23
Регистрация: 28.12.2009
Сообщений: 365
18.02.2010, 11:02
Цитата Сообщение от Фоат Посмотреть сообщение
Сделал!!!!!!!!!
1
 Аватар для Фоат
165 / 82 / 32
Регистрация: 05.02.2010
Сообщений: 318
18.02.2010, 11:17  [ТС]
Biggemot:Спасибо, Ваша школа! Мя кроме вас некому учить и критиковать ! Надеюсь на Вас и в дальнейшем, понимаю, что отнимаю драгоценное время...
0
2 / 2 / 1
Регистрация: 15.02.2010
Сообщений: 21
18.02.2010, 11:22
Мою то прогу пробовал?
Кстати, хотелось бы услышать мнение уважаемого Biggemot ,есть ли какие то замечания?
1
 Аватар для Фоат
165 / 82 / 32
Регистрация: 05.02.2010
Сообщений: 318
18.02.2010, 11:26  [ТС]
Цитата Сообщение от Scorpio76 Посмотреть сообщение
Мою то прогу пробовал?
Кстати, хотелось бы услышать мнение уважаемого Biggemot ,есть ли какие то замечания?


Да я ее смотрел, спс,предпочтение в массивах отдаю больше циклу for
0
2 / 2 / 1
Регистрация: 15.02.2010
Сообщений: 21
18.02.2010, 11:31
Всегда пожалуйста.
Если что надо будет пиши, постараюсь помочь - вместе всегда проще учиться.
Я, правда, скорее не учусь а вспоминаю.
0
 Аватар для Фоат
165 / 82 / 32
Регистрация: 05.02.2010
Сообщений: 318
18.02.2010, 11:39  [ТС]
Матрица квадратная порядка 5. Найти столбец, который обладает наибольшей суммой модулей элементов. Для этого столбца найти меньшее знач элементов. если столбцов несколько то взять первый.

1. матрицу создали;
2. нашли столбец;
как написать код чтобы он брал первый или последний столбец
или первую строку или последнюю если они одинаковые

Добавлено через 2 минуты
Цитата Сообщение от Scorpio76 Посмотреть сообщение
Всегда пожалуйста.
Если что надо будет пиши, постараюсь помочь - вместе всегда проще учиться.
Я, правда, скорее не учусь а вспоминаю.
Повторение-Мать учения!
0
 Аватар для Biggemot
163 / 140 / 23
Регистрация: 28.12.2009
Сообщений: 365
18.02.2010, 12:20
Цитата Сообщение от Scorpio76 Посмотреть сообщение
Сорь - на олимпиаду отвлекся
Вот код твоей проги:

Код Delphi

Попробуй, вроде бы делает то что надо по заданию.Тока m и n приравнены к 10, но это легко исправить.
я while использую когда нельзя for, например, если i в теле цикла меняется нелинейно. но это дело вкуса.
а вот зачем выводить массив в ListBox мне совсем не понятно. тебе просто нравится или есть какой-то скрытый смысл в этом?
еще хорошим стилем будет переменные, которые не меняются ниразу, определять как константы
Delphi
1
2
3
const
  n=10;
  m=10;
больше не нашел к чему придраться

Добавлено через 20 минут
Цитата Сообщение от Фоат Посмотреть сообщение
1. матрицу создали;
2. нашли столбец;
как написать код чтобы он брал первый или последний столбец
или первую строку или последнюю если они одинаковые
допустим N - кол-во строк.
складывай суммы по столбцам в массив Arr[1..N], потом проходишь этот массив от 1 до N ищешь максимальный. его индекс и будет первый столбец из тех, в которых сумма элементов максимальна.
если хочешь последний из них, то проходи массив Arr[1..N] в обратном порядке
Delphi
1
for i:= N downto 1 do
1
2 / 2 / 1
Регистрация: 15.02.2010
Сообщений: 21
18.02.2010, 13:51
Спасибо за ответ.
По вопросу:
а вот зачем выводить массив в ListBox мне совсем не понятно. тебе просто нравится или есть какой-то скрытый смысл в этом?
- просто для наглядности, не более того.Или вопрос почему именно в ListBox?
0
 Аватар для Biggemot
163 / 140 / 23
Регистрация: 28.12.2009
Сообщений: 365
18.02.2010, 14:02
да. ведь есть, например, StringGrid
0
2 / 2 / 1
Регистрация: 15.02.2010
Сообщений: 21
18.02.2010, 17:41
Просто сознаюсь - я её плохо знаю.
А как организовать вывод в StringGrid вывод картинок?
Скажем есть массив 10х10 заполненный значениями от 1 до 4 , надо в соответствии с каждым значением вывести картинку. И тут же вопрос в чем лучше картинку хранить - bmp, jpeg?
Буду очень признателен за помощь.
0
 Аватар для Biggemot
163 / 140 / 23
Регистрация: 28.12.2009
Сообщений: 365
18.02.2010, 18:24
не важно в чем хранить. это только к вопросу качества/размер файла
и есть более удобные объекты для отображения картинок
0
2 / 2 / 1
Регистрация: 15.02.2010
Сообщений: 21
18.02.2010, 18:46
Спасибо за ответ, но нельзя ли более развернуто?
есть более удобные объекты для отображения картинок
?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2010, 18:46

Форма для ввода-вывода массива одномерного массива
Организуйте в Windows приложении ввод и вывод одномерного массива строкового типа.

Написать процедуру ввода массива и вывода массива
Написать процедуру ввода массива и вывода массива.

Функции ввода и вывода массива
Помогите Хочу сделать ввод и вывод используя функций Не компилируется( #include &lt;iostream&gt; using namespace std; int...

Создать программу ввода и вывода массива
Создать программу ввода и вывода массива: 3, 4, -9, 8, 1, -6, 2, -5, -1, 7, 5, 9

Составить программу ввода и вывода массива
Составить программу ввода и вывода массива: 5,-3,4,-8,-9,1,9,6,-3,4,8,2


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

Или воспользуйтесь поиском по форуму:
60
Закрытая тема Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru