Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите с инфой пожалуйста / 8 сообщений из 8, страница 1 из 1
01.05.2006, 18:18
    #33700389
помогите с инфой пожалуйста
помогите пожалуйста..
наверное это самое невероятно о чем вас только можно попросить..но не могли бы вы объяснить программу....

ввести целочисленный массив
а)найти сумму нечетных элементов
б)найти номер последнего отрицательного элемента
с) отсортировать след. образом..сначала по возрастанию все положительные числа,потом,по возрастанию все отрицательные

дело в том что она у меня уже есть..но я не понимаю, что тама написано...
тем более она у меня не идет..находится одна ошибка....я не пойму что такое...
помогите плыз... правельно ли программа написана???

#include<iostream>
#include<conio.h>
#include<algorithm>
using namespace std;
int *arr;
int summa,nomber;
int main()
{
nomber=-1;
int k;
cout<<"Введите кол-во элемнтов ";
cin>>k;
arr=new int[k];
for (int i=0;i<k;i++)
{
cout<<"введите "<<i+1<<" элемт ";
cin>>arr ;
if (arr%2==1)
summa+=arr;
if (arr<0)
nomber=i+1;
}
sort(arr,&arr[k]);
reverse(arr,&arr[k]);
int *t=NULL;
for (int i=0;i<k;i++)
if (arr<0)
{
t=&arr;
break;
};
if (t)
{
sort(arr,t);
sort(t,&arr[k]);
}
else
sort(arr,&arr[k]);
for (int i=0;i<k;i++)
cout<<arr<<endl;
cout<<"Сумма нечетных "<<summa<<endl;
cout<<"Номер "<<nomber;
getch();
delete [] arr;
}
...
Рейтинг: 0 / 0
02.05.2006, 03:44
    #33700712
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с инфой пожалуйста
для начала нужна научится на форме пользоваться тэгами

Код: plaintext
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.
39.
40.
41.
42.
43.
44.
45.
46.
#include<iostream>
#include<conio.h>
#include<algorithm>

//---------------------------------------------------------------------------
using namespace std;
int *arr;
int summa,nomber;
int main()
{
  nomber=- 1 ;
  int k;
  cout<<"Ââåäèòå êîë-âî ýëåìíòîâ ";
  cin>>k;
  arr=new int[k];
  for (int i= 0 ;i<k;i++)
  {
    cout<<"ââåäèòå "<<i+ 1 <<" ýëåìò ";
    cin>>arr[i];
    if (arr[i% 2 ]== 1 )
        summa+=arr[i];
    if (arr< 0 )
        nomber=i+ 1 ;
  }
  sort(arr,&arr[k]);
  reverse(arr,&arr[k]);
  int *t=NULL;
  for (int i= 0 ;i<k;i++)
    if (arr< 0 )
    {
      t=&arr[i];
      break;
    };
  if (t)
  {
    sort(arr,t);
    sort(t,&arr[k]);
  }
  else
      sort(arr,&arr[k]);
  for (int i= 0 ;i<k;i++)
      cout<<arr<<endl;
  cout<<"Ñóììà íå÷åòíûõ "<<summa<<endl;
  cout<<"Íîìåð "<<nomber;
  getch();
  delete [] arr;
}
...
Рейтинг: 0 / 0
02.05.2006, 10:15
    #33700940
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с инфой пожалуйста
Странная программа.
Слишком много ляпов, для того, что бы ее легко можно было понять. Приходится самому догадываться, что хотел написать программист.
Например самые первые:
Код: plaintext
1.
arr< 0 
Указатель всегда будет не меньше нуля.

Код: plaintext
1.
arr% 2 == 1 

Опять же ошибка с указателем.

Я так понимаю, здесь пропущены индексы.

Код: plaintext
1.
 reverse(arr,&arr[k])

Передача указателя за пределами массива. Можешь ждать какой-нибудь акссес виолейшен или появления глюков в самых не ожиданных местах.
...
Рейтинг: 0 / 0
02.05.2006, 17:40
    #33702393
Цвета
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с инфой пожалуйста
помните я вам программы свою скидывала См.выше..
я никак не могу поянть,почему она не идет..все время пишет какую-то ошибку..я не понимаю..посмотрите плыз...
как я кажется резко прогу закрываю да???в чем дело...

если не трудно,помогите плыз((
...
Рейтинг: 0 / 0
02.05.2006, 17:55
    #33702437
Цвета
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с инфой пожалуйста
а что тогда в этой программе не так?


#include <iostream>
#include <conio.h>
using namespace std;

void Mass(int MyArray[],int ArSz);

void main()
{
const int ArSz = 10; // Размер массива
Massiv[ArSz]={0,3,4,-6,1,2,6,7,-16,-18}; // Определяем массив

Mass(MyArray,ArSz);
_getch();
}
void Mass(int MyArray[],int ArSz)
{
int tmp=0;

for(int i=0;i<ArSz;i++)
{
if (MyArray %2!=0)
tmp+=MyArray;
}
cout << "Summa nechetnih:" << tmp << endl;

for(int i=0;i<ArSz+1;i++)
{
if ( MyArray<0 )
tmp=i;
}
cout << "Nomer:" << tmp << endl;
}
...
Рейтинг: 0 / 0
03.05.2006, 00:32
    #33702856
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с инфой пожалуйста
тэг - это такая кнопочка над окном редактирования поста.
например, кнопочка src
...
Рейтинг: 0 / 0
03.05.2006, 10:05
    #33703260
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с инфой пожалуйста
Перед тем как писать какую-нибудь полнофункциональную программу, сначала напиши простенькие программы, на которых проверь правельность понимания языка.

Для начала обрати внимание на массивы и указатели:

1. MyArray - это имя массива, оно служит указателем на область памяти, где хранятся данные массива.

2. [] - это, по сути, операция разыменования элемента массива. Т.е. получение значения, которое хранится по адресу, на который указывает имя массива.

3. внутри квадратных скобок - индекс в массиве. Т.е. ты разыменовываешь определенный элемент массива, который тебе нужен.

Поэтому запись
Код: plaintext
MyArray% 2 
имеет совсем другой смысл. Если ты хочешь определить, какие значения элементов не четные, то ты должна брать остаток от деления на 2 от значения элемента, а не от указателя на память, где расположен массив.

Если чего-то не поняла - спрашивай.

Попробуй теперь исправить программу.
...
Рейтинг: 0 / 0
03.05.2006, 10:27
    #33703330
Cerebrum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с инфой пожалуйста
- Ну тупые студенты, ваащще....
- А что случилось-то?
- Да объясняю им теорему, раз объяснил, спрашиваю поняли, они - нет, второй раз объясняю - снова не поняли, третий раз объясняю - сам понял, а они опять нет....
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите с инфой пожалуйста / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]