Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
STyDeNTuK
30 / 12 / 7
Регистрация: 22.09.2009
Сообщений: 157
#1

Составить программу разбиения массива a длины n - Pascal

12.12.2010, 20:37. Просмотров 325. Ответов 4
Метки нет (Все метки)

Составить программу разбиения массива a длины n , индексы которых находяться между индексами элементов с минимальным и максимальным значениями, включая и индексы этих элементов

Добавлено через 17 минут
я думал заработает но что то не то посмотрите плиз
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
program lab4;
uses crt;
const n=10;
var a:array [1..n] of integer;
i,min,S,max,i1,i2:integer;
Begin
writeln('vvedite massiv');
for i:=1 to n do
readln(a[i]);
min:=a[1];
for i:=1 to n do
if a[i]<min
 then min:=a[i];
 i1:=i;
 max:=a[1];
for i:=1 to n do
if a[i]>max
 then max:=a[i];
 i2:=i;
 S:=0;
for i:=i1 to i2 do
S:=S+a[i];
Writeln(min);
Writeln(max);
Writeln('indeks min ' , i1);
Writeln('indeks max ' , i2);
Writeln('summa ' , S);
End.
Добавлено через 3 минуты
накосячил с индексами как их норм определить
http://www.cyberforum.ru/pascal/thread402747.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2010, 20:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Составить программу разбиения массива a длины n (Pascal):

Составить программу ввода значений и вычисления длины этого вектора
Дан вектор {z1},i=1,...,50. Составить программу ввода значений и вычисления...

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

Разработать программу, которая генерирует все разбиения множества 1,2,...,n
Помогите с последней задачей. Пожалуйста... Надо разработать программу,...

составить программу ,которая в строке произвольной длины заменяет все"+"на" * "если за ними следуют не цифры
составить программу ,которая в строке произвольной длины заменяет все &quot;+&quot; на &quot;...

составить программу ,которая в строке произвольной длины заменяет все "+" на "*" если за ними следуют не цифры
составить программу ,которая в строке произвольной длины заменяет все &quot;+&quot; на &quot;...

4
VampirSS
19 / 19 / 15
Регистрация: 08.12.2010
Сообщений: 34
12.12.2010, 21:05 #2
Вот здесь нужно разобраться какой элемент стоит раньше -
Цитата Сообщение от STyDeNTuK Посмотреть сообщение
Pascal
1
2
for i:=i1 to i2 do
 S:=S+a[i];
То есть
Pascal
1
2
3
If i1<=i2 then
   for i:=i1 to i2 do S:=S+a[i]
   else for i:=i2 to i1 do S:=S+a[i];
И в обоих циклах на нахождение минимального и максимального -
Pascal
1
2
3
4
for i:=1 to n do
if a[i]<min
 then min:=a[i];
 i1:=i;
Сделать:
Pascal
1
2
3
4
5
6
for i:=1 to n do
if a[i]<min then 
  begin 
  min:=a[i];
  i1:=i
  end;
1
STyDeNTuK
30 / 12 / 7
Регистрация: 22.09.2009
Сообщений: 157
12.12.2010, 21:19  [ТС] #3
не помогает всёравно индексы и сумму не верно находит

Добавлено через 5 минут
всё не надо решать я сделал
0
VampirSS
19 / 19 / 15
Регистрация: 08.12.2010
Сообщений: 34
12.12.2010, 21:26 #4
STyDeNTuK, ты максимальный и минимальный элементы обозначил, а i1 и i2 нет
0
STyDeNTuK
30 / 12 / 7
Регистрация: 22.09.2009
Сообщений: 157
12.12.2010, 21:35  [ТС] #5
мож кому надо будет вот готовая задача
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
program lab4;
uses crt;
const n=10;
var a:array [1..n] of integer;
i,min,S,max,i1,i2:integer;
  Begin
  writeln('Введите массив');
  for i:=1 to n do
    readln(a[i]);
  min:=a[1];
  for i:=1 to n do
       begin
         if a[i]<min
           then min:=a[i];
         if a[i]=min
           then i1:=i; 
           max:=a[1];
       end;
  for i:=1 to n do
   begin
     if a[i]>max
       then max:=a[i];
     if a[i]=max
       then i2:=i;
   end;
S:=0;
 If i1<=i2
   then for i:=i1 to i2 do S:=S+a[i]
   else  for i:=i2 to i1 do S:=S+a[i];
 
Writeln('минимум равен',min);
Writeln('максимум равен',max);
Writeln('индекс минимума равен ' , i1);
Writeln('индекс максимума равен ' , i2);
Writeln('Сумма равна ' , S);
End.
Добавлено через 4 минуты
решите мне кто нить вот эту http://www.cyberforum.ru/pascal/thread209457.html#post1194986
0
12.12.2010, 21:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2010, 21:35
Привет! Вот еще темы с решениями:

Составить программу для вычисления массива
Составить* программу для вычисления W= A*B/(C+2) A - наибольший элемент...

Составить программу которая переставляет элементы массива
Уважаемые, срочно нужна помощь! 1) Составить програму которая переставляет...

Составить программу ввода и вывода двумерного массива
Составить программу ввода и вывода двумерного массива а, с размерностью 10х15

Помогите Составить программу заполнения одномерного массива.
Составить программу заполнения одномерного массива случайными числами в...


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

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

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