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

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

Войти
Регистрация
Восстановить пароль
 
Lotus34
5 / 6 / 1
Регистрация: 26.10.2012
Сообщений: 124
#1

Одномерный массив. Вычислить сумму полож. эл-в, раполож. до максимального и заменить все отрицат. эл-ты на их квадраты - C++

27.11.2012, 15:00. Просмотров 284. Ответов 3
Метки нет (Все метки)

Посмотрите код, первая работа с массивами.
Задача- В одном. массиве, сост. из н веществен. чисел, вычислить сумму полож. эл-в, раполож. до максимального и заменить все отрицат. эл-ты на их квадраты.
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
#include <iostream>
using namespace std;
#include <math.h>
#include <conio.h>
#include <windows.h>  
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    const int n=10;
    int mas[i],imax=0,Sum,i;
    for(i=0; i<n; i++)
    {
        cin>> mas[i];
    cout<<"Введите элемент массива";    // Вводим массив
    }
    for(i=1; i<n; i++)
    {
        if(mas[i]>mas[imax])            // Находим максимальный элемент
            imax=i;
    }
    Sum=0;
    for(i=0;i<n; i++)
    {   
        if(i<imax && mas[i]>0)         // Находим сумму всех положительных элементов массива, 
            Sum+=i;                    // расположенных до максимального 
    }
    for(i=0; i<n; i++)
    {
        if(mas[i]<0)                    // Заменяем все отрицательный элементы массива их квадратами 
            mas[i]=pow(mas[i],2);
    }
    cout<<"Сумма положительных эл-в , раполож. до максимального="<<Sum;
    for(i=0; i<n;i++)
        cout<<mas[i];
    getch;
        return 0;
}

Ошибки:
1>------ Построение начато: проект: Лаба 3, Конфигурация: Debug Win32 ------
1>Компиляция...
1>1.cpp
1>d:\учеба\осн.программирования\лаба 3\лаба 3\1.cpp(11) : error C2065: i: необъявленный идентификатор
1>d:\учеба\осн.программирования\лаба 3\лаба 3\1.cpp(31) : error C2668: pow: неоднозначный вызов перегруженной функции
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(575): может быть 'long double pow(long double,int)'
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(527): или 'float pow(float,int)'
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(489): или 'double pow(double,int)'
1> при попытке сопоставить список аргументов '(int, int)'
1>d:\учеба\осн.программирования\лаба 3\лаба 3\1.cpp(36) : warning C4551: в вызове функции отсутствует список аргументов
1>Журнал построения был сохранен в "file://d:\Учеба\Осн.Программирования\Лаба 3\Лаба 3\Debug\BuildLog.htm"
1>Лаба 3 - ошибок 2, предупреждений 1
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 15:00     Одномерный массив. Вычислить сумму полож. эл-в, раполож. до максимального и заменить все отрицат. эл-ты на их квадраты
Посмотрите здесь:

Одномерный массив, заменить все a на b - C++
Программа должна меть меню, подпрограммы и т.д. Все это я могу реализовать, не могли бы подсказать алгоритм, решение самой задачи где a=3...

Дано одномерный массив. Заменить все отрицательные элементы их модулями. - C++
Дано одномерный массив. Заменить все отрицательные элементы их модулями.

Одномерный массив - вычислить сумму отрицательных элементов массива - C++
В одномерном массиве из N вещественных элементов, вычислить: • сумму отрицательных элементов массива; • произведение элементов...

Одномерный массив. Заменить все элементы с отрицательным значением на значение минимального не равного 0 положительного элемента. - C++
тема массивы..(( заменить все элементы с отрицательным значением на значение минимального не равного 0 положительного элемента О_О

Одномерный массив из вещестенных чисел: вычислить сумму положительных элементов - C++
В одноименном массиве, состоящем из N вещественных элементов, вычислить сумму положительных элементов массива

Все отрицательные элементы заменить на квадраты элементов - C++
Все отрицательные элементы заменить на квадраты этих элементов, а не отрицательные на половину суммы квадратов соседних элементов. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
27.11.2012, 15:14     Одномерный массив. Вычислить сумму полож. эл-в, раполож. до максимального и заменить все отрицат. эл-ты на их квадраты #2
Ошибки подправил, по смыслу не смотрел
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
#include <iostream>
using namespace std;
#include <math.h>
#include <conio.h>
#include <windows.h>  
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    const int n=10;
    int mas[n],imax=0,Sum,i;
    for(i=0; i<n; i++)
    {
        cin>> mas[i];
    cout<<"Введите элемент массива";    // Вводим массив
    }
    for(i=1; i<n; i++)
    {
        if(mas[i]>mas[imax])            // Находим максимальный элемент
            imax=i;
    }
    Sum=0;
    for(i=0;i<n; i++)
    {   
        if(i<imax && mas[i]>0)         // Находим сумму всех положительных элементов массива, 
            Sum+=i;                    // расположенных до максимального 
    }
    for(i=0; i<n; i++)
    {
        if(mas[i]<0)                    // Заменяем все отрицательный элементы массива их квадратами 
            mas[i]=pow((double)mas[i],2);
    }
    cout<<"Сумма положительных эл-в , раполож. до максимального="<<Sum;
    for(i=0; i<n;i++)
        cout<<mas[i];
    getch();
        return 0;
}
Lotus34
5 / 6 / 1
Регистрация: 26.10.2012
Сообщений: 124
27.11.2012, 17:53  [ТС]     Одномерный массив. Вычислить сумму полож. эл-в, раполож. до максимального и заменить все отрицат. эл-ты на их квадраты #3
Спасибо.Запускает. Но пишет ошибочную сумму и новый массив выводит как старый а не с квадратами чисел(

Добавлено через 2 часа 29 минут
Посоветуйте как исправить!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 18:06     Одномерный массив. Вычислить сумму полож. эл-в, раполож. до максимального и заменить все отрицат. эл-ты на их квадраты
Еще ссылки по теме:

Задан одномерный массив,вычислить сумму произведении всех пар соседних чисел - C++
Задан одномерный массив,вычислить сумму произведении всех пар соседних чисел

Все элементы массива, предшествующие минимальному, заменить на их квадраты - C++
Дан одномерный массив А(2М). Если наименьший элемент этого массива меньше 1 и находится во второй половине этого массива, то все его...

Заменить все четные элементы на их квадраты (не верно работает) - C++
//Дан массив целых чисел //Заменить все четные элементы на их квадраты, //а нечетные удвоить #include &quot;stdafx.h&quot; #include...

Подсчитать кол-во введеных чисел, сумму положительных и сумму отрицат - C++
а тaкже oпрeделить мaксимальное и минимaльное ввeденное числo. Подтолкните на мысль коим образом выполнить сию миссию.Спасибо


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

Или воспользуйтесь поиском по форуму:
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
27.11.2012, 18:06     Одномерный массив. Вычислить сумму полож. эл-в, раполож. до максимального и заменить все отрицат. эл-ты на их квадраты #4
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
#include <iostream> 
#include <cmath>
 
int main() 
{ 
    const int n = 10; 
    double array[n] = { 12.1, 45.4, -34.2, 6.2, -7, 12.6, -7.4, -8.8, -6, 121.1 };  
    double max, sum = 0;  
    int index = 0, i;
    
    max = array[0];  
 
    for ( i = 1; i < n; ++i) 
        if(array[i] > max) 
        { 
            max = array[i]; 
            index = i; 
        }   
 
        for ( i = 0; i < index; ++i) 
            if(array[i] > 0) 
                sum += array[i]; 
        std::cout << "Sum is " << sum << std::endl; 
 
        for ( i = 0; i < n; ++i) 
        {
            if(array[i] < 0) 
                array[i] = pow(array[i], 2);  
            std::cout << array[i] << " "; 
        } 
        std::cout << std::endl;
}
Yandex
Объявления
27.11.2012, 18:06     Одномерный массив. Вычислить сумму полож. эл-в, раполож. до максимального и заменить все отрицат. эл-ты на их квадраты
Ответ Создать тему
Опции темы

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