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

Масcив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу задать массив 1000х1000 http://www.cyberforum.ru/cpp-beginners/thread107222.html
Помогите, плз, найти ошибку или решение. Нужно задать массив размера не меньше 1000х1000 случайными числами. Составляю программку: #include <iostream> using namespace std; int main()
C++ Обмен переменных string Здравствуйте. Подскажите пожалуйста, как ПРАВИЛЬНО и КРАСИВО поменять местами две string-переменные? Делаю следующим образом: void SwapStrings(string *str1, string *str2) { string temp; temp = *str1; *str1 = *str2; http://www.cyberforum.ru/cpp-beginners/thread107221.html
C++ scanf в C
можна прочитать несколько значений использав всего раз scanf например : scanf ("%d %d",&a,&b); ? - правильно ли это сделано?
Правильно ли перегружена функция? C++
Здрасти, можно ли так перегрузить функцию? int FillBasicPlan(int** pMatrix,int** pMatrix2,int count_row, int count_col); int FillBasicPlan(float** pMatrix,float** pMatrix2,int count_row, int count_col);
C++ Чтение строки из файла http://www.cyberforum.ru/cpp-beginners/thread107195.html
помогите пожалуйста. как прочесть всю строку из файла?
C++ В тексте одно введённое слово заменить другим словом, которое также вводится с экрана помогите пожалуйста с лабой, срок поджимает, а идей никаких((( 1. В тексте одно введённое слово заменить другим словом, которое также вводится с экрана. При выводе исходной и изменённой строки старое и новое слово выделить другим цветом. (Требования и общие указания к заданиям: Обрабатываемый в программе текст должен содержать несколько строк. Но массив строк не формировать, то есть в... подробнее

Показать сообщение отдельно
Day
 Аватар для Day
1152 / 957 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
22.03.2010, 10:24     Масcив
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 - не нужна
 
Текущее время: 14:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru