Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
2 / 1 / 1
Регистрация: 12.10.2016
Сообщений: 102

Динамические массивы

05.03.2017, 15:37. Показов 755. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С помощью двух динамических массивов (одномерный - для названия стран, двумерный - для количества медалей по странам) нужно сделать программу:
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
program lab1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Windows;
 
type N = array of integer;
     D = array of array [0..2] of integer;
 
procedure Change(var a:N; b:D);
var k, n, i, j, gold, silver, bronze: integer;
    s: string;
begin
  SetConsoleOutputCP(1251);
  write('Введите количество стран_');
  readln(n);
   SetLength(a, n);
   SetLength(b, n);
    writeln('Введите названия стран и кол-во медалей(золото, серебро, бронза)_');
     for k:=0 to n do
      read(s);
        for i:=0 to n do
         begin
           for j:=0 to 2 do
            begin
              read(gold, silver, bronze);
            end;
             writeln;
         end;
   
end;
 
  //m a i n
var aa: N;
    bb:D;
begin
   Change(aa,bb);
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.03.2017, 15:37
Ответы с готовыми решениями:

Статические массивы,Динамические массивы,строки
1)Создать двумерный массив A(N,M) целых положительных и отрицательных чисел с помощью функции Random. Найти произведение всех четных...

динамические массивы
помогите пожалуйста с заданием по динамическим массивам: Разработать программу, которая создает список L, элементами которого является...

Динамические массивы?
Составить код программы, которая выполняет следующие действия: 1. Формирование двумерного целочисленного массива (матрицы) размером N х...

1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
05.03.2017, 17: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
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Windows;
type St = array of string;
     Md = array of array [1..3] of integer;
procedure Change(var a:St; var b:Md; var n:integer);
var j, gold, silver, bronze: integer;
    s: string;
begin
n:=0;
writeln('Введите названия стран, можно с повторениями, конец ввода пустая строка');
repeat
write('Введите название страны: ');
readln(s);
if s<>'0' then
 begin
  writeln('Введите кол-во медалей(золото, серебро, бронза)');
  readln(gold,silver,bronze);
  if n=0 then
   begin
    inc(n);
    SetLength(a,n);
    SetLength(b,n);
    a[n-1]:=s;
    b[n-1,1]:=gold;
    b[n-1,2]:=silver;
    b[n-1,3]:=bronze;
   end
  else
   begin
    j:=0;
    while (j<n)and(a[j]<>s) do inc(j);
    if j=n then
     begin
      inc(n);
      SetLength(a,n);
      SetLength(b,n);
      a[n-1]:=s;
      b[n-1,1]:=gold;
      b[n-1,2]:=silver;
      b[n-1,3]:=bronze;
     end
    else
     begin
      inc(b[j,1],gold);
      inc(b[j,2],silver);
      inc(b[j,3],bronze);
     end;
    end;
  end;
until s='0';
end;
 
  //m a i n
var aa: St;
    bb: Md;
    n,i:integer;
begin
  SetConsoleCP(1251);
  SetConsoleOutPutCp(1251);
  Change(aa,bb,n);
  for i:=0 to n-1 do
  writeln(aa[i],' ',bb[i,1],' ',bb[i,2],' ',bb[i,3]);
  readln
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.03.2017, 17:22
Помогаю со студенческими работами здесь

Динамические массивы
Дан одномерный массив Xn. Найти количество элементов массива, значение которых больше 5. Напечатать номера всех элементов массива, значение...

Динамические массивы
Всем привет) очень нужна помощь. Есть программа для заполнения динамического массива A случайным образом. но размер в массиве нужно...

Динамические массивы
Здравствуйте! Недавно решил попробовать покодить на Delphi Prism... и возникла проблема... В дельфи win32 есть замечательная вещь:...

Динамические массивы
1. Заданы два одномерных массива случайных целых чисел(размеры определяет пользователь). Сформировать Новый массив по правилу:если сумма...

Динамические массивы
Вчера на практике в колледже мы разбирали динамические массивы. Когда я узнала тему, то подумала: что тут сложного, A: array of...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru