Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2011, 20:07   #1
~Sл@\/яH~
Пользователь
 
Регистрация: 19.11.2011
Сообщений: 35
По умолчанию Одномерные массивы

Здравствуйте. Помогите пожалуйста с задачей:

В одномерном массиве, состоящем из n вещественных элементов, вычислить:
• произведение элементов массива с чётными номерами;
• упорядочить элементы массива по возрастанию методом выбора.



код:
#include <iostream>
#include <conio.h>
#include <math.h>
#include <windows.h>
using namespace std;
int main ()
{
SetConsoleCP (1251);
SetConsoleOutputCP (1251);
cout<<"\nВведите массив:\n";
const int n=10;
int mas[n],i,a,j,pro,t,imax;
for (i=0; i<n; i++)
cin>>mas[i];
cout<<"\nТеперь массив выглядит так:\n";
for (i=1; i<n; i++)
{
imax=0;

for( int j=1; j<n-i+1; i++)
if (mas[imax]<mas[j])
imax=j;
t=mas[imax];
mas[imax]=mas[n-i];
mas[n-i]=t;
}
cin>>mas[i];
pro=0;
for (i=0; i<n/2; i++)
{
t=mas[i];
mas[i]=mas[n-i-1];
mas[n-i-1]=t;
pro*=(a[n]<0)?a[n]:1;
cout<<"Произведение: ";
}

getch();
return 0;
}


Подскажите, что не так???
~Sл@\/яH~ вне форума Ответить с цитированием
Старый 19.11.2011, 20:51   #2
~Sл@\/яH~
Пользователь
 
Регистрация: 19.11.2011
Сообщений: 35
По умолчанию

Код:
#include <conio.h>
#include <math.h>
#include <windows.h>
using namespace std;
int main ()
{
SetConsoleCP (1251);
SetConsoleOutputCP(1251);
const int N=4, M=4;
int i,j,a[N][M],mas[N][M];
int Sum=0;
cout<<"Введите квадратную матрицу:\n";
for (i=0; i<N; i++)
for (j=0; j<M; j++)
cin>>a[i][j];
for (int j=0; j<M; j++)
if (j>0)
Sum+=mas[j];
cout<<Sum;
cout<<"Sum= ";
cin>>Sum;
getch();
}

Выдает ошибку на Sum+=mas[j]
Подскажите пожалуйста почему
~Sл@\/яH~ вне форума Ответить с цитированием
Старый 19.11.2011, 23:08   #3
Ibanez Wizard
Адский тунеядец
Форумчанин
 
Аватар для Ibanez Wizard
 
Регистрация: 11.06.2010
Сообщений: 164
По умолчанию

Цитата:
Сообщение от ~Sл@\/яH~ Посмотреть сообщение
Выдает ошибку на Sum+=mas[j]
Подскажите пожалуйста почему
У тебя mas обявлена как двухмерный массив, а ты в этой строке
Sum+=mas[j]
обращаешься только к строке массива, а номера элемента нет.

Соответственно будет правильная запись mas[i][j]. В итоге нужно редактировать код.
Ibanez Wizard вне форума Ответить с цитированием
Старый 20.11.2011, 16:29   #4
~Sл@\/яH~
Пользователь
 
Регистрация: 19.11.2011
Сообщений: 35
По умолчанию

Цитата:
Сообщение от Ibanez Wizard Посмотреть сообщение
У тебя mas обявлена как двухмерный массив, а ты в этой строке
Sum+=mas[j]
обращаешься только к строке массива, а номера элемента нет.

Соответственно будет правильная запись mas[i][j]. В итоге нужно редактировать код.
Спасибо. Мне по задаче просто нужно было сложить столбцы, в которых нет отрицательных чисел. Поэтому я брал только j
~Sл@\/яH~ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++. Одномерные массивы. semak92 Общие вопросы C/C++ 1 27.11.2010 21:36
C++. Одномерные массивы. semak92 Помощь студентам 0 27.11.2010 12:39
Одномерные массивы kazzz Помощь студентам 5 18.11.2010 13:16
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Одномерные массивы!!!!! SLAVIK_71 Паскаль, Turbo Pascal, PascalABC.NET 4 10.06.2009 10:41