IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Задача на массивы, C
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 114
Пол: Мужской
Реальное имя: Ден

Репутация: -  0  +


Задание :

Задан упорядоченный по невозрастанию одномерный массив.
-------------------
1) найти произведение отрицательных элементов массива;
2) найти сумму положительных элементов массива;
3) упорядоченный по невозрастанию массив преобразовать в упорядоченный по возраста-нию, оставив по одному в каждой группе совпадающих элементов.


#include <stdio.h>
#include <conio.h>
#include <iostream.h>
void main()
{
const int M=10;
int A[M]={5,4,3,2,2,1,-1,-2,-3,-4};
int P;
P=1;

for (int i=0; i<10; i++)
{ if(A[i]<0)
P=P*A[i];
}
int S=0;
for (i=0;i<10;i++)
{ if(A[i]>0)
S=S+A[i];
}
for (i=0;i<10;i++)
{ cout<<A[i];
}
cout<<"------------------", " Первоначальный массив";
i=1;
while (i<= 10)
{
if (A[i]=A[i-1])
for (int j=i; M-1;i++)
{
A[j]=A[j+1];
--M;
}

else (i++);
}
for (i=0; M%2;i++)
{ int temp;
temp=A[i];
A[i]=A[M-i+1];
A[M-i+1]=temp;
}

for( i=0; i<10; i++)
cout<< A[i];
cout<<"--------------", "Преобразованный массив ";
cout<<" Сумма "<< S;
cout<<" Произведение"<< P;

getche();
}


Подскажите где ошибка ?

1 ) . Вопрос : как заменить в "С" , то что в Паскале можно записать как : M div 2 ?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата(Merlin @ 20.04.2006 17:24)
Подскажите где ошибка ?

Первая - здесь:
if (A[i]=A[i-1])
Ты не сравниваешь элементы, а присваиваешь...

Вторая - здесь:
  const int M=10;
...
--M;
Это с каких пор константу можно изменять? blink.gif


Цитата(Merlin @ 20.04.2006 17:24)
1 ) . Вопрос : как заменить в "С" , то что в Паскале можно записать как : M div 2 ?

Т.к. результат должен присваиваться целочисленной переменной, то простой
что_то = M / 2;

даст тебе деление нацело...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 17.05.2022 11:50
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name