Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
8 / 6 / 2
Регистрация: 07.11.2014
Сообщений: 130
1

Поменять последний элемент массива, кратный своему порядковому номеру с первым элементом

30.03.2015, 17:43. Просмотров 1300. Ответов 9
Метки нет (Все метки)

Всем добрый вечер! Столкнулся с проблемой, нужно поменять последний элемент, кратный своему порядковому номеру с первым элементом одномерного числового массива!
Буду благодарен за помощь в решении Заранее спасибо



P.S Сижу в PascalABC.NET,может кому интересна данная инфа.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2015, 17:43
Ответы с готовыми решениями:

Поменять местами последний элемент массива с первым элементом, равным x
Заданный массив с n чисел. Поменять местами последний элемент с первым элементом, равным x. Учесть...

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

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

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

9
Модератор
62511 / 46696 / 32185
Регистрация: 18.05.2008
Сообщений: 112,990
30.03.2015, 18:22 2
Цитата Сообщение от Genesiss Посмотреть сообщение
Сижу в PascalABC.NET,
Так и создавать тему нужно где положено.
0
8 / 6 / 2
Регистрация: 07.11.2014
Сообщений: 130
30.03.2015, 18:26  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
Так и создавать тему нужно где положено.
А разница в чём? Да, есть некоторые различия , но не столь критичны для данного задания.
0
Модератор
62511 / 46696 / 32185
Регистрация: 18.05.2008
Сообщений: 112,990
30.03.2015, 18:28 4
Будешь от неведения зубы показывать, вообще к бану приведу.
0
8 / 6 / 2
Регистрация: 07.11.2014
Сообщений: 130
30.03.2015, 19:24  [ТС] 5
Цитата Сообщение от Puporev Посмотреть сообщение
Будешь от неведения зубы показывать, вообще к бану приведу.
Да я так то просто уточнил вдруг кто "фишки" в pascalabc.net знает типо Power (он то не работает в turbo), так же много кто помогал по паскалю и это всё подходит для ABC в том числе, я не вижу причин переносить тему сюда. Тут мне вряд ли помогут так как (Онлайн: 11) на данный момент из чего следует, что вероятность помощи по данному заданию в данном разделе мала нежели в простом разделе Pascal (Паскаль).
0
Модератор
62511 / 46696 / 32185
Регистрация: 18.05.2008
Сообщений: 112,990
30.03.2015, 20:33 6
Лучший ответ Сообщение было отмечено Genesiss как решение

Решение

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
var a:array of integer;
    n,i,ip,x:integer;
begin
randomize;
write('Размер массива n=');
readln(n);
setlength(a,n);
writeln('Исходный массив');
for i:=0 to n-1 do
 begin
  a[i]:=1+random(100);
  write(a[i]:4);
 end;
writeln;
ip:=0;
i:=n-1;
while(i>0)and(ip=0) do
if a[i] mod (i+1)=0 then ip:=i
else dec(i);
writeln('Последний элемен, кратный своему номеру=',a[ip],' его номер=',ip+1);
if ip=0 then write('Он первый, обмена нет')
else
 begin
  writeln('Обмен этого элемента с первым');
  x:=a[ip];
  a[ip]:=a[0];
  a[0]:=x;
  for i:=0 to n-1 do
  write(a[i]:4);
 end
end.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30765 / 20096 / 7852
Регистрация: 22.10.2011
Сообщений: 34,914
Записей в блоге: 6
30.03.2015, 20:38 7
.NET 3.5:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{$reference System.Core.dll}
uses System, System.Linq, System.Collections.Generic, Arrays;
type
  pair = KeyValuePair<integer, integer>;
var 
  a : array of integer;
  rnd : Random := new Random;
  ix : integer;
 
begin
  a := Enumerable.Range(1, 40).Select((i : integer) -> rnd.Next(100)).ToArray();
  a.Writeln;
  
  ix := a.Select((v : integer, i : integer) -> new pair(v, i + 1)).
    Where((p : pair) -> p.Key mod p.Value = 0).LastOrDefault().Value;
    
  writeln('Обмениваем первый элемент с ', ix, '-ым');
  if(ix > 0) then Swap(a[ix - 1], a[0]);
  a.Writeln;
end.
.NET 4+
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{$reference System.Core.dll}
uses System, System.Linq, System.Collections.Generic, Arrays;
type
  pair = KeyValuePair<integer, integer>;
var 
  a : array of integer;
  rnd : Random := new Random;
  ix : integer;
 
begin
  a := Enumerable.Range(1, 40).Select(i -> rnd.Next(100)).ToArray();
  a.Writeln;
  
  ix := a.Select((v, i) -> new pair(v, i + 1)).
    Where(p -> p.Key mod p.Value = 0).LastOrDefault().Value;
    
  writeln('Обмениваем первый элемент с ', ix, '-ым');
  if(ix > 0) then Swap(a[ix - 1], a[0]);
  a.Writeln;
end.
1
Модератор
62511 / 46696 / 32185
Регистрация: 18.05.2008
Сообщений: 112,990
30.03.2015, 20:40 8
Genesiss, А сейчас запусти оба кода в простом АВС....
1
8 / 6 / 2
Регистрация: 07.11.2014
Сообщений: 130
30.03.2015, 20:47  [ТС] 9
Цитата Сообщение от Puporev Посмотреть сообщение
А сейчас запусти оба кода в простом АВС....
Мне и надо было так как вы сделали, просто я все делаю в PascalABC.NET, делать именно под него мне не надо было :)

Добавлено через 1 минуту
Спасибо всем за ответы в теме, в следующий раз лучше не буду писать , что сижу в ABC...
0
Модератор
62511 / 46696 / 32185
Регистрация: 18.05.2008
Сообщений: 112,990
30.03.2015, 20:49 10
Цитата Сообщение от Genesiss Посмотреть сообщение
лучше не буду писать , что сижу в ABC...
Во первых Вы "сидите" в АВС.net, а если будете постить темы в разделе Pascal, напишу Вам код на Турбо Паскале.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2015, 20:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти наибольший элемент вектора, кратный трём и равный своему номеру, и его номер
Задан вектор из N элементов. Найти наибольшее число и его координату среди кратных трем и...

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

Поменяйте местами последний элемент массива, кратный В и первый элемент кратный С
Создайте одномерный массив, поменяйте местами последний элемент кратный В и первый элемент кратный...

Поменять местами минимальный элемент с первым элементом массива, а максимальный элемент с последним
Здравствуйте. Помогите пожалуйста написать программу: для поиска минимального и максимального...

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

Поменять местами минимальный элемент массива с первым элементом массива
Привет. Как поменять мин.элемент с первым элементом массива? namespace ConsoleApp107 { ...


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

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

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