Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 05.04.2019
Сообщений: 6
1

В произвольно заданном одномерном массиве целых чисел определить элементы

18.04.2019, 23:36. Показов 1576. Ответов 4

Доброго времени суток! Помогите, пожалуйста, написать программу по данному заданию
Здесь либо через строки нужно делать, либо через mod (div), но даже не представляю, как это осуществить. Заранее благодарю!
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
В произвольно заданном одномерном массиве целых чисел определить элементы  
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2019, 23:36
Ответы с готовыми решениями:

В одномерном массиве целых чисел найти отрицательные элементы и заменить их на число, введенное с клавиатуры
В одномерном массиве целых чисел найти отрицательные элементы и заменить их на число, введенное с...

Определить длину первой последовательности одинаковых цифр, идущих рядом, в произвольном одномерном массиве целых чисел
Определить длину первой последовательности одинаковых цифр, идущих рядом, в произвольном одномерном...

в заданном одномерном массиве из 10 целых числе найти разность минимального и максимальнеого элементов. Отсортировать массив по убыванию.
В заданном одномерном массиве из 10 целых числе найти разность минимального и максимальнеого...

В заданном одномерном массиве из n элементов найти количество повторяющихся чисел
В заданном одномерном массиве из n элементов найти количество повторяющихся чисел. Он выводит если...

4
2356 / 760 / 557
Регистрация: 15.01.2019
Сообщений: 2,360
19.04.2019, 07:21 2
Лучший ответ Сообщение было отмечено AnastasiyaBrazh как решение

Решение

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
program Zadanie47;
 
var
 i:integer; // Промежуточные переменные для организации циклов.
 maxsum: real;  //  Переменная для хранения значения максимальной суммы цифр элемента.
 minsum: real;  //  Переменная для хранения значения минимальной суммы цифр элемента.
 a: array [1..100] of integer;  // Переменная для хранения двумерного массива.
 n: integer; // Переменная для хранения количества элементов в массиве.
 dig: integer; // Промежуточная переменная для организации разложения числа на цифры.
 sum: integer; // Промежуточная переменная для нахождения суммы цифр разрядов числа.
 maxind, minind: integer; // Переменные для хранения значений индексов найденных по условию элементов массива.
 tmp: integer; // Промежуточная переменная для организации перестановок внутри массива.
begin
Writeln('Введите количество элементов массива:');
Readln(n);
for i:=1 to n do
 begin
 Writeln('Введите значение ',i,' элемента массива:');
 Readln(a[i]);
 end;
// Заполненный массив выводится на экран.
Writeln('Заполненный массив:');
for i:=1 to n do
 write(a[i],' ');
writeln;
 
sum:=0;
maxsum:= 0;
minsum:= 2147483646;
for i:=1 to n do
 begin
// Число разлагается на разряды и сразу же вычисляется сумма цифр разрядов.
  dig:= a[i];
  while dig > 0 do
   begin
     sum:= sum + dig mod 10;
     dig:= dig div 10;
   end;
 // Ищется элемент с максимальной суммой цифр.
 if sum > maxsum then
    begin
      maxsum:= sum;
      maxind:= i;
    end;
 // Ищется элемент с минимальной суммой цифр.
 if sum < minsum then
    begin
      minsum:= sum;
      minind:= i;
    end;
 sum:=0;
 end;
// Перестановка элементов внутри массива. Элемент с максимальной суммой цифр
// помещается в начало массива. Элемент с минимальной суммой цифр помещается
// в конец массива.
tmp:=a[1];
a[1]:= a[maxind];
a[maxind]:=tmp;
tmp:=a[n];
a[n]:= a[minind];
a[minind]:=tmp;
// Измененный массив выводится на экран.
Writeln('Конечный результат вычислений:');
for i:=1 to n do
 write(a[i],' ');
writeln;
 
readln;
end.
1
Модератор
63861 / 47352 / 32648
Регистрация: 18.05.2008
Сообщений: 114,860
19.04.2019, 12:45 3
По моему так. Тема была в разделе Free Pascal.
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
uses crt;
{функция подсчета суммы цифр числа}
function sum(n:integer):byte;
var m,s:integer;
begin
m:=n;{abs(n) если числа могут быть отрицательными}
s:=0;
repeat
s:=s+m mod 10;
m:=m div 10;
until m=0;
sum:=s;
end;
 
var a:array[1..100] of integer;
    n,i,min,max,imn,imx,x:integer;
begin
clrscr;
repeat
write('Введите размер массива от 3 до 100 n=');
readln(n);
until n in [3..100];
randomize;
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=100+random(900);
  write(a[i]:4);
 end;
writeln;
{ищем элементы с макс и с мин суммой цифр}
min:=sum(a[1]);
max:=sum(a[1]);
{и их номера в массиве}
imn:=1;
imx:=1;
for i:=2 to n do
if sum(a[i])<min then
 begin
  min:=sum(a[i]);
  imn:=i;
 end
else if sum(a[i])>max then
 begin
  max:=sum(a[i]);
  imx:=i;
 end;
writeln('Максимальная сумма цифр=',max:2,' у элемента ',a[imx],' его номер=',imx);
writeln('Минимальная  сумма цифр=',min:2,' у элемента ',a[imn],' его номер=',imn);
{переставляем}
{максимальное вперед}
if imx>1 then
 begin
  x:=a[imx];
  for i:=imx downto 2 do
  a[i]:=a[i-1];
  a[1]:=x;
 end;
{минимальное в конец}
if imn<imx then inc(imn);{если минимальное раньше чем максимальное
                          то его номер изменится на +1}
if imn<n then
 begin
  x:=a[imn];
  for i:=imn to n-1 do
  a[i]:=a[i+1];
  a[n]:=x;
 end;
writeln('Перестановка элементов');
for i:=1 to n do
write(a[i]:4);
readln
end.
0
0 / 0 / 0
Регистрация: 05.04.2019
Сообщений: 6
21.04.2019, 17:36  [ТС] 4
ValentinNemo, спасибо Вам огромное!!!

Добавлено через 59 секунд
Puporev, благодарю Вас!!!
0
243 / 139 / 64
Регистрация: 29.07.2018
Сообщений: 1,101
21.04.2019, 18:29 5
Цитата Сообщение от ValentinNemo Посмотреть сообщение
Pascal
1
a: array [1..100] of integer; *// Переменная для хранения двумерного массива.
у вас объявлен одномерный массив,а в комментарии вы пишите,что он у вас двумерный.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2019, 18:29

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Определить количество локальных минимумов в заданном одномерном числовом массиве
Задание: составить схему алгоритма и программу решения задачи. Определить количество локальных...

В заданном одномерном массиве определить номер последнего отрицательного элемента
массив любой.....что - то не получается....

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

Определить, есть ли в заданном одномерном массиве два соседних элемента с разными знаками
Определить, есть ли в заданном одномерном массиве два соседних элемента с разными знаками ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.