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

Ошибка в сумме модулей элементов массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана действительная матрица размера 3*3. Найти сумму наибольших значений строки http://www.cyberforum.ru/cpp-beginners/thread1123172.html
Дана действительная матрица размера 3*3. Найти сумму наибольших значений строки. #include <iostream> using namespace std; int main() { int b,a,i,j,summstroki=0,s=0,nomer=0;
C++ В чем разница std::cout и просто cout? Ребят ,подскажите на простом языке для чайников . В чем разница std::cout и просто cout? http://www.cyberforum.ru/cpp-beginners/thread1123137.html
C++ Оценить овражность и построить линии уровня и траекторию поиска
В окрестности точки минимума функции f(x,y)=((y^3-x^2)^2)+100((1-x^2)) оценить овражность и построить линии уровня и траекторию поиска
C++ Нахождение интервала унимодальности с использованием алгоритма Свенна
дана функция f(x,y)=((y^3-x^2)^2)+100((1-x^2)) ДЛя нахождения интервала унимодальности использовать алгоритм Свенна.
C++ Найти точки минимума функции методом Розенборка. http://www.cyberforum.ru/cpp-beginners/thread1123107.html
f(x,y)=((y^3-x^2)^2)+100((1-x^2)) найти точки минимума функции методом Розенборка.
C++ Арифметические действия над массивами. Некорректный результат Всем привет, что я не так делаю хочу от массива "4" отнять массивa "1" но показывает "0" почему ? #include<iostream> #include<conio.h> #include<stdio.h> #include<math.h> main() { float d={01,01,12,12},m={01,02,03,03},y={1915,1990,1930,2014}; float z,z2,z3,x1,x2,x3,c1,c2,c3; подробнее

Показать сообщение отдельно
aex
89 / 78 / 29
Регистрация: 06.03.2014
Сообщений: 230
18.03.2014, 20:10
Цитата Сообщение от t1gn Посмотреть сообщение
C++
1
for(i = 0; i < indmin; i++) sum += arr[i];
ведь же надо
Цитата Сообщение от t1gn Посмотреть сообщение
расположенных после минимального по модулю элемента
а у вас с 0-вого до минимального
и надо же сумму модулей
т.е. вместе
Цитата Сообщение от t1gn Посмотреть сообщение
C++
1
for(i = 0; i < indmin; i++) sum += arr[i];
надо
C++
1
for(i = indmin; i < n; i++) sum += abs(arr[i]);
и ещё надо
Цитата Сообщение от t1gn Посмотреть сообщение
после минимального по модулю элемента
а у вас просто после минимального
Цитата Сообщение от t1gn Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
for(i = 0; i < n; i++)
   {
     if(arr[i] < min)
     {
       min = arr[i];
       indmin = i;
     }
   }
замените на
C++
1
2
3
4
5
6
7
8
for(i = 0; i < n; i++)
    {
        if(abs(arr[i]) < min)
        {
            min = abs(arr[i]);
            indmin = i;
        }
    }
Добавлено через 6 минут
виноват
Цитата Сообщение от aex Посмотреть сообщение
for(i = indmin; i < n; i++) sum += abs(arr[i]);
здесь надо начиная со следующего, т.е.
C++
1
for(i = indmin+1; i < n; i++) sum += abs(arr[i]);
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru