Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Андрей Андреев
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 15
1

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

29.05.2012, 20:48. Просмотров 1035. Ответов 2
Метки нет (Все метки)

1)Дан список из n целых чисел a[1],a2,...,a[n].Вывести экран элементы списка в указанной последовательности : a[n],a[1],a[n-1],a[2],...,a[1],a[n]
Добавлено через 3 минуты
Ребята!Помогите пожалуйста,очень надо!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2012, 20:48
Ответы с готовыми решениями:

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

Вывести на экран элементы списка в обратном порядке
Вывести на экран элементы списка в обратном порядке. Входные данные: N –...

Вывести на экран те элементы списка, которые больше своих соседей
Дан список из n целых чисел a1,a2,..,an. Вывести на экран те элементы списка,...

Однонаправленные списки.Написать подпрограмму,которая добавляет в конец списка А1 элементы списка А2 со значением больше за 3
Однонаправленные списки. Дано: 2-а списка .А1-первое поле-отрицательное число...

Списки. Поменять местами максимальный и минимальный элементы списка.
Написать программу, которая меняет максимальный и минимальный элементы списка....

2
Skyride
5 / 5 / 3
Регистрация: 02.12.2011
Сообщений: 13
29.05.2012, 21:33 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
type pnode_t=^node_t;
         node_t=record
             info:integer;
             prev,next:pnode_t;
     end;
procedure create(var list,list_2:pnode_t);
var elem:pnode_t; x,i:integer;
begin
    new(elem);
    readln(x);
    elem^.info:=x;
    list:=elem;
    list^.prev:=nil;
    list_2:=list;
       for i:=1 to 4 do begin
     new(elem);
     readln(x);
     elem^.info:=x;
     list^.next:=elem;
     elem^.prev:=list;
     list:=elem;
        end;
     list^.next:=nil;
 
end;
 
procedure print_2(list_2,list:pnode_t);
begin
while list<>nil do begin
writeln(list^.info);
writeln(list_2^.info);
list_2:=list_2^.next;
list:=list^.prev;
end;
end;
var list,list_2:pnode_t;
begin
create(list,list_2);
writeln('=---===-------==');
print_2(list_2,list);
end.
это первая
1
Андрей Андреев
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 15
30.05.2012, 17:24  [ТС] 3
Дан линейный целочисленный массив a."Зеркально перевернуть" часть элементов массива,расположенных между первым из всех наименьших и последним из всех наибольших элементов массива.

У меня есть эта задача в Паскале,нужно перевести в DevC++,я сам переводил,все получилось кроме алгоритма "зеркального отображения"...
Посмотрите пожалуйста код на С++ и подкорректируйте,если не сложно.

Добавлено через 1 минуту
Вот код на С++:
C++
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
74
75
76
77
78
79
80
81
#include <iostream>
#include <iomanip>
#include <math.h>
#include <stdlib.h>
using namespace std;
 
void setRand(int[], const int);
void printArray(int[], const int);
int main()
{
    const int n=10;
    int array[n];
    
    //Заполнение массива случайными числами
      setRand(array,n);
      printArray(array, n);
    //Находим минимальное значение массива min и
    // номер элемента в массиве imin
     
     int min=array[0];
     int imin=0;
     for (int i=0;i<n;i++)
     {if (array[i]<min)
         { min=array[i];
           imin=i;
         }
     } 
     
    cout<<"min = "<< min<< " imin = "<<imin<<endl;
    
    //Находим максимальное  значение массива max и номер
    //элемента в массиве imax
    int max=array[0];
    int imax=0;
    for (int i=0;i<n;i++)
     {if (array[i]>=max)
         { max=array[i];
           imax=i;
         }
     } 
     
    cout<<"max = "<< max<< " imax = "<<imax<<endl;
    
    //Зеркальное отображение
    if (imin>imax)
      {  int  x=imax;
         imax=imin;
         imin=x;
      }    
    for (int i=0;i<((imax-imin+1)% 2);i++)
    {
         int  x=array[imin+i-1];
         array[imin+i-1]=array[imax-i+1];
         array[imax-i+1]=x;
    } 
    cout<<"Massiv"<<endl;
    for(int i=0;i<n;i++)
        {
        //cout<<array[i]<<" afr "<<endl;   
        }
       
        
        
        printArray(array, n);
        system("PAUSE");
        return 0;
}  
//рандомное заполнение массива
void setRand(int arr[], const int n)
{
  for(int i = 0; i < n; i++)
  arr[i] =1+ rand() % 100;
} 
//печать массива
void printArray(int arr[], const int n)
{
  for(int i = 0; i < n; i++)
  cout << setw(4) << arr[i];
 
  cout << endl;
}
Добавлено через 20 минут
Ребята по паскалю спасибо большое!Все получилось!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2012, 17:24

Списки. Удалить из списка все элементы, входящие в него в точности 2 раза
Дан список из n целых чисел a1,a2,..,an. Удалить из списка все элементы,...

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

Создание списка, печать списка на экран, добавления элемента в начало списка, конец списка
Построить динамическую структуру типа список . Необходимо реализовать следующие...


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

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

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