Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

27.11.2012, 15:00. Просмотров 292. Ответов 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 ==========
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 15:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одномерный массив. Вычислить сумму полож. эл-в, раполож. до максимального и заменить все отрицат. эл-ты на их квадраты (C++):

Составить одномерный массив и вычислить сумму положительных элементов массива, расположенных до максимального элемента - Turbo Pascal
Составить одномерный массив и вычислить сумму положительных элементов массива, расположенных до максимального элемента.

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

Дан одномерный числовой массив. Найти сумму максимального и минимального элементов - PascalABC.NET
Дан одномерный числовой массив.Найти сумму максимального и минимального элементов.

Дан одномерный массив. Найдите сумму максимального и последнего элементов массива. Delphi - Delphi
помогите пожалуйста решить задачу на Delphi. Составьте словесно формульный алгоритм, блок-схему и программу для решения следующей...

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

Заменить все нечетные строки на одномерный массив - QBasic
В двумерном массиве действительных чисел размерностью 5*6 заменить все непарные (нечетные) ряды на заданный одномерный массив...

3
David Sylva
1290 / 952 / 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;
}
1
Lotus34
5 / 6 / 1
Регистрация: 26.10.2012
Сообщений: 124
27.11.2012, 17:53  [ТС] #3
Спасибо.Запускает. Но пишет ошибочную сумму и новый массив выводит как старый а не с квадратами чисел(

Добавлено через 2 часа 29 минут
Посоветуйте как исправить!
0
David Sylva
1290 / 952 / 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;
}
0
27.11.2012, 18:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 18:06
Привет! Вот еще темы с ответами:

Дан одномерный массив Е(10) элементы которого вводятся с клавиатуры. Подсчитать сумму максимального и минимального элемента в массиве Е. - Pascal ABC
Здравствуйте программисты) Меня не было всего лишь на паре тем по паскалю, и по этому не знаю ответа) Поможете решить задачу)) Дан...

Одномерный массив. Заменить первый элемент на сумму положительных элементов - Pascal ABC
В массиве из 10 целых чисел требуется заменить первый элемент массива на сумму положительных элементов массива. Помогите пожалуйста ,кому...

Ввести одномерный массив X(N) (N<=90). Упорядочить в нем по возрастанию значений все элементы, стоящие после максимального элемента. - Pascal
Помогите решить пожалуйста, целый день бьюсь никак не получается. Ввести одномерный массив X(N) (N&lt;=90). Упорядочить в нем по возрастанию...

Двумерный массив. Сформировать одномерный массив из отрицательных элементов и вычислить их сумму - Pascal ABC
Задан двухмерный массив целых чисел А размером N на М. Сформировать одномерный массив В, состоящий из отрицательных элементов массива, и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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