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

Одномерные массивы (сумма отрицательных элементов, произведение между максимальным и минимальным элементами, упорядочить по возрастанию) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проблемы с компиляцией http://www.cyberforum.ru/cpp-beginners/thread858557.html
пишу простенькую прогу, переводящую число в часы, секунды и минуты. Появляется вот это: fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source? Пробовала добавлять в начало #include "stdafx.h", не помогло, в настройках отключать тоже пробовала, ничего не помогает, что можно с этим сделать?
C++ использование процедур (вычислить значение выражения) Даны действительные числа s,t. Получить g(1.2,s)+g(t,s)-g(2s-1,st), где g(a,b)=(a^2+b^2)/(a^2+2ab+3b^2+4). http://www.cyberforum.ru/cpp-beginners/thread858546.html
Подпрограмма. Рассмотреть отрезки последовательности a1...an C++
Даны натуральное число n, целые числа a1...an. Рассмотреть отрезки последовательности a1...an (подпоследовательности идущих подряд членов), состоящие из а) полных квадратов; б) степеней пятерки; в) простых чисел. В каждом случае получить наибольшую из длин рассматриваемых отрезков. (Определить процедуры, позволяющие распознавать полные квадраты, степени пятерки, простые числа.)
Обьяснить код C++
#include <iostream> #include <string> using namespace std; class school { protected: int nomer; float staj; public: school():nomer(0),staj(0)
C++ Изменение контрастности изображения http://www.cyberforum.ru/cpp-beginners/thread858536.html
Есть задание: Изменение контрастности изображения, представленного в градациях яркости. Сравнивается значение яркости исходного пиксела с верхним (в) и нижним (н) порогом, если меньше (н), то результирующему пикселу присваивается значение 0, если больше (в) - значение 255, в остальных случаях значения равномерно интерполируются, т.е. область (н,в) исходных значений отображается на (1,254)...
C++ Строки. Получить последовательность символов, содержащую только последние вхождения каждого символа с сохранением взаимного порядка этих вхождений Есть задание: Даны натуральное число n, символы s1, ... , sn. Получить последовательность символов, содержащую только последние вхождения каждого символа с сохранением взаимного порядка этих вхождений. Попыталась что-то похожее написать, но программа ест только первую повторяющуюся букву: #include "stdafx.h" #include <iostream> #include <string> подробнее

Показать сообщение отдельно
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
08.05.2013, 13:20     Одномерные массивы (сумма отрицательных элементов, произведение между максимальным и минимальным элементами, упорядочить по возрастанию)
Если вводить с клавиатуры да.В сортировке добавил переменную возможно,но при значительных размерах массива значительно уменьшается количество проходов.при малых размерах оно а и не нужна.А в общем любой код можно упростить.

Добавлено через 1 час 42 минуты
Чтобы не напрягаться.
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
#include <iostream>
 
using namespace std;
int main()
{
const int size = 15;//объявляем массив на 15 элементов и инициализируем
int A[size] = {-2, 3, -6, 6, -5, 2, 8, -4, 9, 5, 8, -1, 7, -2, 1};
cout << " No sorted a array" << endl << endl;
//выводим на экран
for (int i = 0; i < size; i++)
cout << A[i]<< ",";
cout  << endl << endl;
//объявляем переменные и присваиваем начальные значения
int sum = 0,proizv = 1;
 int min = 0, max = 0;
 int imin =-1,imax =-1;
 //находим индексы
    min = A[0];// берем самый первый элемент массива и считаем, что он минимальный.
    max = A[0];// и он же максимальный.
     for (int i = 0; i < size; i++)
        {
            if (A[i] <= min)
            {
                min = A[i];
                imin = i;//находим индекс мин значения
            }
            if (A[i] >= max)
            {
                max = A[i];
                imax = i;//находим индекс макс значения
            }
            //считаем сумму отр элементов
              if (A[i] < 0)
            sum += A[i];
        }
     //произведения
 for (int t = imin+1; t <= imax-1; t++)
    {
        proizv*=A[t];
    }
//сортировка массива
for (int i = 1; i < size; i++) //цикл проходов
{
      for (int j = 0; j < size; j++)
       {
        if (A[j] > A[j + 1])
         {
          int temp = A[j + 1];
           A[j + 1] = A[j];
           A[j] = temp;
         }
       }
  }
//Выводим результат работы
   cout << " The sorted a array" << endl << endl;
  for (int k = 0; k < size; k++)
cout << A[k]<< ",";
cout  << endl << endl;
   cout <<" Index  "<< " min =  "<< imin <<" max =  "<< imax<< endl;
   cout <<" Summa =  "<< sum << endl;
   cout <<" Proizvedenie =  "<<  proizv << endl;
 
return 0;
}
 
Текущее время: 09:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru