Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
3ak
Сообщений: n/a
#1

Масcив - C++

21.03.2010, 21:06. Просмотров 309. Ответов 1
Метки нет (Все метки)

1. Дан целочисленный линейный массив из 10 элементов. Найдите наименьшее число K элементов, которое нужно исключить из последовательности A[1], A[2],…,A[10], чтобы осталась возрастающая последовательность.
2. Составьте программу вычисления суммы элементов от первого отрицательного и до конца.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2010, 21:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Масcив (C++):

Масcив - C++
Задан масив A содержащий n элементов Определить кратно ли 3 минимальный элимент массива. зарание спасибо)

Одномерный масcив - Pascal
Дан массив действительных чисел А1...,А16. получить min(A1*A9,A2*A10,....,A8*A16). Добавлено через 32 минуты люди добрые помогите...

Масcив байтов из файла - C#
Подскажите как получить массив байтов из файла? Добавлено через 13 минут бинарного*

Динамический масcив с елементами типа struct - C++ Builder
вот задание: создать динамический структурный масив вывести на екран struct student{char*name; int kurs; float raiting}; потом с...


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

Или воспользуйтесь поиском по форуму:
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Day
1155 / 960 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
22.03.2010, 10:24 #2
2-я попроще. С нее и начнем
C
1
2
3
int s = 0;
for(i=0; i<10; i++) if (A[i]<0) break;
for(j=i+1; j<10;j++) s+=A[j];
Я тут суммирую числа, НЕ ВКЛЮЧАЯ первое отрицательное.
Если его надо включать (из условия неясно) j=i+1 замени на j=i

1.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
j = 0; m=1; 
while(1) {
  n = 1; B=A[j]; p = -1;
  for(i=j+1; i<10; i++) {
     n = 1;
     if (A[i] < B) {
        if (p<0) p = i;  // Фиксируем первый "провал", с него начнем следующий поиск
     }
     else if (A[i]==B) continue;
     else {
        B=A[i];
       n++;
     }
  }
  if (n>m) {
     m = n;
  }
   if (p<0) break;
   j = p;
 }
   // Это мы нашли m - длина максимальной возрастающей последовательности
 K = 10 -m;  // Искомое K
Не проверял. Ошибки возможны - алгоритм хитренький
Но идея, надеюсь, понятна

Добавлено через 2 минуты
6-я строчка n=1 - не нужна
Ответ Создать тему
Опции темы

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