Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
знайка
0 / 0 / 0
Регистрация: 15.10.2010
Сообщений: 2
1

работа с элементами массива в заданном интервале, чётные и нечётные элементы массива

18.10.2010, 15:45. Просмотров 889. Ответов 2
Метки нет (Все метки)

Задача: Определить наибольший элемент среди нечётных по номеру элементов второй четверти массива
(целочисленные элементы массива генерируются случайно на интервале (-6;10) в количестве 30 штук). Код имеется но не могу найти ошибку, подскажите пожалуйста.Спасибо.
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
program f4_3;                                                                 
{opredelit naibolshii element sredi nechetnih po nomeru elementov 2/4 massiva}
uses crt;                                                                     
var                                                                           
i, j, n, k1, k2, max: integer;                                                
F: array [1..255] of integer;                                                 
const a1=-6; a2=10;                                                           
begin                                                                         
clrscr;                                                                       
writeln ('vvedite kolichestvo elementov massiva n=');                         
readln (n);                                                                   
randomize;                                                                    
 writeln ('elementi massiva: ');                                              
  writeln;                                                                    
   for i:=1 to n do                                                           
   F[i]:=random(a2)+a1;    {generiruem elementi massiva}                      
   for i:=1 to n do                                                           
   writeln (' ', F[i]:3);   {vivod elementov massiva}                         
   k1:=trunc((2*n)/4);         {naxodim 2u 4 massiva}                         
   k2:=trunc((3*n)/4);                                                        
   if (i mod 2<>0)  then i:=i+1;    {opredeljaem nechetnie elementi}          
     for i:=k1 to (k2-1) do                                                   
     begin                                                                    
        for j:=i+1 to k2 do                                                   
        begin                                                                 
          if (i mod 2<>0) and (j mod 2 <>0) then                              
          if F[j]<F[i] then                                                   
          max:=F[j];                                                          
          F[j]:=F[i];                                                         
          F[i]:=max;                                                          
        end;                                                                  
     end;                                                                      
writeln (' naibplshii element sredi nechetnih po nomeru elementov 2/4 massiva 
readln;                                                                       
end.



Задача 2:Упорядочить чётные по номеру элементы последней четверти массива по возрастанию значений. (30 случайных целочисленных элементов массива в интервале от -6 до 10). Код:
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
program f4_3;                                                                 
{opredelit naibolshii element sredi nechetnih po nomeru elementov 2/4 massiva}
uses crt;                                                                     
var                                                                           
i, j, n, k1, k2, max: integer;                                                
F: array [1..255] of integer;                                                 
const a1=-6; a2=10;                                                           
begin                                                                         
clrscr;                                                                       
writeln ('vvedite kolichestvo elementov massiva n=');                         
readln (n);                                                                   
randomize;                                                                    
 writeln ('elementi massiva: ');                                              
  writeln;                                                                    
   for i:=1 to n do                                                           
   F[i]:=random(a2)+a1;    {generiruem elementi massiva}                      
   for i:=1 to n do                                                           
   writeln (' ', F[i]:3);   {vivod elementov massiva}                         
   k1:=trunc((2*n)/4);         {naxodim 2u 4 massiva}                         
   k2:=trunc((3*n)/4);                                                        
   if (i mod 2<>0)  then i:=i+1;    {opredeljaem nechetnie elementi}          
     for i:=k1 to (k2-1) do                                                   
     begin                                                                    
        for j:=i+1 to k2 do                                                   
        begin                                                                 
          if (i mod 2<>0) and (j mod 2 <>0) then                              
          if F[j]<F[i] then                                                   
          max:=F[j];                                                          
          F[j]:=F[i];                                                         
          F[i]:=max;                                                          
        end;                                                                  
     end;                                                                      
writeln (' naibplshii element sredi nechetnih po nomeru elementov 2/4 massiva 
readln;                                                                       
end.
Работает, но не выводит что нужно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2010, 15:45
Ответы с готовыми решениями:

Если значение элементов массива подчиняются условию x1<=x2<=...<=x15,то все нечётные элементы массива умножить на А,в противном случае чётные умножить
Помогите пожалуйста решить задачу:cry:: 1.Задан массив x(15).Если значение...

Заменить все чётные элементы массива на их квадраты, а нечётные удвоить
Задача на массивы: &quot;Заменить все чётные элементы массива на их квадраты, а...

Разным цветом вывести чётные и нечётные элементы матрицы (двумерного массива)
Писал программу, которая заполняет матрицу случайными числами от 1 до 100 и...

Массив. Чётные элементы массива увеличить в 2 раза, а нечётные увеличить в 3 раза
извините опять нарушаю правила в форуме. эта задача была уже на форуме но она...

Из одномерного массива C получить массив D,удалив из массива C нечётные и минимальные элементы.
Из одномерного массива C получить массив D,удалив из массива C нечётные и...

2
Puporev
Модератор
54588 / 42093 / 29064
Регистрация: 18.05.2008
Сообщений: 99,305
18.10.2010, 17:00 2
Цитата Сообщение от знайка Посмотреть сообщение
элементов второй четверти массива ... в количестве 30 штук).
Вообще-то 30 на четверти не делится...

Добавлено через 4 минуты
Вот первая для 20 элементов.
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
program f4_3;                                                                 
{opredelit naibolshii element sredi nechetnih po nomeru elementov 2/4 massiva}
uses crt;
const n=20;
      a1=-6;
      a2=10;
var F: array [1..n] of integer;
    i,mx: integer;
begin
clrscr;
randomize;
writeln ('elementi massiva: ');
writeln;
for i:=1 to n do
 begin
  F[i]:=random(a2-a1+1)+a1; {generiruem elementi massiva}
  write(' ', F[i]);   {vivod elementov massiva}
 end;
writeln;
writeln;
mx:=F[n div 4+1];
for i:=n div 4+1 to n div 2 do
if odd(i)and(F[i]>mx) then mx:=F[i] ;
write(' naibplshii element sredi nechetnih po nomeru elementov 2/4 massiva=',mx);
readln;                                                                       
end.
Добавлено через 8 минут
Вторая на 28 элементов.
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
uses crt;
const n=28;
      a1=-6;
      a2=10;
var F: array [1..n] of integer;
    i,j,x: integer;
begin
clrscr;
randomize;
writeln ('elementi massiva: ');
writeln;
for i:=1 to n do
 begin
  F[i]:=random(a2-a1+1)+a1; {generiruem elementi massiva}
  write(' ', F[i]);   {vivod elementov massiva}
 end;
writeln;
writeln;
for i:=3*(n div 4)+1 to n-1 do
for j:=i+1 to n do
if (i mod 2=0)and(j mod 2=0)and(F[i]>F[j]) then
 begin
  x:=F[i];
  F[i]:=F[j];
  F[j]:=x;
 end;
writeln('sortirovka 4/4 massiva');
for i:=1 to n do
write(' ',F[i]);
readln;                                                                       
end.
1
знайка
0 / 0 / 0
Регистрация: 15.10.2010
Сообщений: 2
18.10.2010, 17:07 3
дык для этого и используем функции trunc. 30 элементов - это условие
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2010, 17:07

Два исходных массива объединить в один, включив элементы второго массива между K и (K+1) элементами первого массива.
Ребят, помогите, пожалуйста, сделать задачи, так как сама в этом ничего не...

Удалить элементы расположенные между максимальным и минимальным элементами массива Х. Элементы массива Х вычисляются по формуле Xi=((-1)^i)*((i^2)-3*i), где i=1,2,...,10.
Удалить элементы расположенные между максимальным и минимальным элементами...

Удалить из одномерного массива все элементы расположенные между максимальным и минимальным элементами массива
Удалить из одномерного массива все элементы расположенные между максимальным и...


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

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

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