Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 16.12.2017
Сообщений: 22

Работа с массивом

29.06.2018, 08:46. Показов 564. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте, нужно было написать программу, которая получает размер массива, инициализирует его элементы, для четных значения задаются случайным образом, а для нечетных задается ввод значений пользователем. Полученный массив сортируется по возрастанию, а результат сортировки записывается в файл. Вот код :
Pascal
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
  var
  i,j,k,max,n,jmax : integer;
  aa : array [1..100] of integer;
   input,output : text;
      begin
      writeln ('Введите размер массива :  ');
      readln (n);
   assign (input,'input.txt');
   assign (output,'output.txt');
   reset(input);
   rewrite(output);
   while not eof (input)do
       begin
       read(input,aa[i]);
     for i := 1 to n do
       begin
    if   NOT Odd(aa[i])  then
    aa[i] := random(10);
      if  Odd(aa[i]) then
      writeln ('Введите элементы с нечетным индексом : ');
      readln(aa[i]);
       write(output,aa[i]);
        end;
       max := aa[1];
         for i := 1 to n do
           begin
        max := aa[i];
        jmax := i;
           for j := i+1 to n do  
                 begin
             if aa[j]>max then
               begin
               max := aa[j];
               jmax := j;
             end;
             end; 
             k := aa[i];
             aa[i] := aa[jmax];
             aa[jmax] := k;
               end;
            k := aa[i];
            aa[i] := aa[jmax];
            aa[jmax] := k;
            close(output);
            close(input);
            assign(input,'input34.txt');
            reset(input);
                  end;         
                  end.
Не могли бы вы пожалуйста подсказать, правильно ли он написан, в плане того что выделяется память под массив и как можно подредактировать код, чтобы при распределении элементов массива не было ошибок.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.06.2018, 08:46
Ответы с готовыми решениями:

Работа с массивом
Всем привет! Помогите понять как надо, а то рецептов куча, но они отличаются сильно друг от друга и вызывают сомнения. Суть проста:...

Работа с массивом
Мне надо узнать какие файлы в папке хранятся и записать их имена в массив

Работа с массивом
Есть массив books. Существует метод который добавляет имена книг в этот массив, но если при попытке добавить элемент выясняется, что...

2
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
29.06.2018, 08:59
Вы сначала считываете данные из файла в массив, а затем заполняете его же по заданным правилам. Зачем?

Добавлено через 7 минут
Pascal
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
var
  i, j, k, max, n, jmax: integer;
  aa: array [1..100] of integer;
  f: text;
 
begin
  randomize;
  writeln('Введите размер массива :  ');
  readln(n);
  assign(f, 'output.txt');
  rewrite(f);
  for i := 1 to n do
  begin
    if not Odd(i)  then
      aa[i] := -n div 2 + random(n)
    else
    begin
      writeln('Введите элементы с нечетным индексом : ');
      readln(aa[i]);
    end;
  end;
  writeln('Исходный массив: ');
  for i := 1 to n do
    write(aa[i]:5);
  writeln;
  max := aa[1];
  for i := 1 to n do
  begin
    max := aa[i];
    jmax := i;
    for j := i + 1 to n do  
    begin
      if aa[j] < max then
      begin
        max := aa[j];
        jmax := j;
      end;
    end; 
    k := aa[i];
    aa[i] := aa[jmax];
    aa[jmax] := k;
  end;
  k := aa[i];
  aa[i] := aa[jmax];
  aa[jmax] := k;
  writeln('Отсортированный массив: ');
  for i := 1 to n do
  begin
    write(aa[i]:5);
    write(f, aa[i]:5);
  end;
  close(f);
end.
1
1 / 1 / 0
Регистрация: 16.12.2017
Сообщений: 22
29.06.2018, 09:20  [ТС]
спасибо, поняла ошибку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.06.2018, 09:20
Помогаю со студенческими работами здесь

Работа с массивом
Всем доброе время суток! Вопрос простой - 1. Обьявляем в массив char строки содержащие текст, дату, целые числа и вещественные. ...

Работа с массивом
Есть массив чисел, необходимо вывести его в select - раскрывающийся список. Сейчас у меня создается такой список, но все элементы в нем...

Работа с массивом.
Есть масив тип булевый необходимо данные в масиве по ключю если совпадает с ключом то +1 а оно у меня не правильно считает 6 как не крути )...

Работа с массивом
Добрый день! Есть вот такой массив Array ( =&gt; Array ( =&gt; Array ( ...

Работа с массивом
program Project7; {$APPTYPE CONSOLE} uses SysUtils; type mas = array of integer; var


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru