Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 21.03.2012, 16:48   #1
Ольга198812
Новичок
Джуниор
 
Регистрация: 20.03.2012
Сообщений: 6
Репутация: 10
По умолчанию Программа с одномерными массивами.

В массиве (5;-16;7;9;6;3;-8;4;0;-12;15;2) найти максимальны и минимальный элементы. Расположить элементы стоящие между ними в порядке убывания и затем найти сумму элементов, имеющих четные индексы и делящиеся на три без остатка.
Заранее огромнейшее спасибо!
Ольга198812 вне форума   Ответить с цитированием
Старый 21.03.2012, 17:56   #2
vovk
!=
Профессионал
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,762
Репутация: 424
По умолчанию

Цитата:
В массиве (5;-16;7;9;6;3;-8;4;0;-12;15;2) найти максимальны и минимальный элементы. Расположить элементы стоящие между ними в порядке убывания и затем найти сумму элементов, имеющих четные индексы и делящиеся на три без остатка.
Заранее огромнейшее спасибо!
раз на чём писать не известно пишу на чём хочу))
как то так

Код:

#include <iostream> 
#include <cmath> 
using namespace std; 
 
int main() 
{ 
  int mas_[12] = {5,-16,7,9,6,3,-8,4,0,-12,15,2}, min_, max_, temp, start_, end_;
  min_ = max_ = mas_[0];
  for (int i = 1; i < 12; i++)
  {
  if (mas_[min_] > mas_[i]) min_ = i;
  if (mas_[max_] < mas_[i]) max_ = i;
  }
  if (max_ > min_) 
  {
  start_ = min_;
  end_ = max_;
  }
  else
  {
  start_ = max_;
  end_ = min_;
  }
   for (int i = start_ + 1; i < end_; i++)
		for (int j = start_ + 1; j < end_-i; j++)
           if (mas_[j+1] > mas_[j])
		   {
		   temp = mas_[j+1]; mas_[j+1] = mas_[j]; mas_[j] = temp;
		   }
		   temp = 0;
  for (int i = 0; i < 12; i++)
  {
  if (!(i%2) && !(mas_[i]%3))
  temp += mas_[i]; 
  cout << "mas_[" << i << "] = " << mas_[i] << "\n";
  }
  cout << "\nsum = " << temp;
  return 0; 
}

vovk вне форума   Ответить с цитированием
Старый 21.03.2012, 19:55   #3
Ольга198812
Новичок
Джуниор
 
Регистрация: 20.03.2012
Сообщений: 6
Репутация: 10
По умолчанию

Извиняюсь, на паскале писать)
Ольга198812 вне форума   Ответить с цитированием
Старый 21.03.2012, 20:03   #4
vovk
!=
Профессионал
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,762
Репутация: 424
По умолчанию

На паскале мне не интерстно,
покажите наработки = помогу запросто.
vovk вне форума   Ответить с цитированием
Старый 21.03.2012, 20:06   #5
Ольга198812
Новичок
Джуниор
 
Регистрация: 20.03.2012
Сообщений: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
На паскале мне не интерстно,
покажите наработки = помогу запросто.
У меня есть только начало, дальше не могу разобраться...
Код:

program lab3;
const n=12;
var i,j,k,p: integer;
max,buf:real;
x:array[1..n] of real;
f: text;
begin
k:=0;
assign(f,'mass3.pas');
reset(f);
for i:=1 to n do
read(f,x[i]);


Последний раз редактировалось ACE Valery; 21.03.2012 в 21:28.
Ольга198812 вне форума   Ответить с цитированием
Старый 21.03.2012, 20:21   #6
vovk
!=
Профессионал
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,762
Репутация: 424
По умолчанию

паскаль то какой?
vovk вне форума   Ответить с цитированием
Старый 21.03.2012, 20:34   #7
Ольга198812
Новичок
Джуниор
 
Регистрация: 20.03.2012
Сообщений: 6
Репутация: 10
По умолчанию

паскаль - ABC
Ольга198812 вне форума   Ответить с цитированием
Старый 21.03.2012, 20:56   #8
vovk
!=
Профессионал
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,762
Репутация: 424
По умолчанию

У ABC какие то свои хитросплетения, ну да ладно
кстати зачем вам тип real для элементов массива, если заранее известно, что все элементы целочисленные?

дальше всё просто, после того как заполнили массив,
приступаем к поиску минимального и максимального элемента, ищем одновременно и тот и другой за 1 проход,
для начала будем считать, что первый элемент и минимальный, и максимальный о чём и сообщим переменным, k индексом минимального элемента, p максимального

Код:

k:=1;
p:=1;
for i:=2 to n do // надеюсь понятно почему со 2 элемента начали
begin
if (x[i] < x[k]) k:=i;  //если элемент массива с индексом i меньше элемента массива с индексом k , 
//начинаем считать его минимальным, и присваиваем k индес этого элемента, то биш i
if (x[i] > x[p]) p:=i; //по аналогии с минимальным
end;

так теперь я отдыхаю, а вы продолжайте ))

Последний раз редактировалось Stilet; 21.03.2012 в 21:49.
vovk вне форума   Ответить с цитированием
Старый 21.03.2012, 21:18   #9
Ольга198812
Новичок
Джуниор
 
Регистрация: 20.03.2012
Сообщений: 6
Репутация: 10
По умолчанию

Спасибо! но непонятно, почему со второго начали, почему?
Ольга198812 вне форума   Ответить с цитированием
Старый 21.03.2012, 21:32   #10
vovk
!=
Профессионал
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,762
Репутация: 424
По умолчанию

А зачем нам 1 элемент проверять? мы же изначально решили, что какой то элемент нужно назначить минимальным, и какой то максимальным, чтобы с ними сверять,
Ну а раз так, то назначили 1 элемент, а если его уже назначили, то зачем его значение с самим собой сравнивать, и так ясно что они равны ))

всё я спать, мысли разбегаются, пальцы заплетаются.
vovk вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с одномерными массивами SiNgLeR C++ Builder 5 18.12.2011 16:56
Работа с одномерными массивами С++ chainiksi Помощь студентам 4 21.11.2011 15:12
операции с одномерными массивами chainiksi Общие вопросы C/C++ 2 15.11.2011 17:19
программа на паскале с одномерными массивами Loga Помощь студентам 27 14.01.2010 12:12


18:01.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru