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

адреса - C++

Восстановить пароль Регистрация
 
samira di
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
26.03.2012, 08:58     адреса #1
здравствуйте!
нужно "Вывести на экран 25 случайных чисел, находящихся в диапазоне от –100 до 100. Затем найти и вывести на экран номера самого первого и самого последнего и максимального из отрицательных чисел в этом ряду". решить нужно без "a[i]", а с "*p"!
посмотрите, пожалуйста


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
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
void main()
{ int a[25],*p=a;
int a1,an,amax,c;
cout<<"i";
cout<<"\n";
{for (p=a;p<a+25;p++)
{*p=rand()%201-100;
cout<<*p<<"  ";}
{ for(p=a;p<a+25;p++)
  {if (*p<0);
  break;
  a1=*p;
  cout<<endl<<"pervoe:  "<<a1;}
{for (p=a;p<a+25;p++)
 if (*p<0)
 c=*p;
 cout<<endl<<"poslednee: "<<c;}
{for (p=a;p<a+25;p++)
amax=a1;
 {if ((*p<0) && (*p>amax));
 amax=*p;
  cout<<endl<<"max: "<<amax; }}
cin.get();
cin.get();} }}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2012, 08:58     адреса
Посмотрите здесь:

адреса C++
Ссылки и адреса C++
Получение IP адреса (Си) C++
указатели и адреса. C++
IP адреса. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Duha666
50 / 50 / 5
Регистрация: 10.03.2012
Сообщений: 138
26.03.2012, 09:09     адреса #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
#include <iostream>
#include <math.h>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
    int a[25], *p;
    int amax, c;
    for (p = a; p < a + 25; p++)
    {
        *p = rand() % 201 - 100;
        cout << * p << " ";
    }
    for (p = a; p < a + 25; p++)
    {
        if (*p < 0)
            break;
    }
    cout << endl << "pervoe: " << *p;
    for (p = a + 24; p >= 0, *p >= 0; p--);
    cout << endl << "poslednee: " << *p;
    for (p = a; p < a + 25; p++)
        if (*p < 0 && *p > amax)
            amax = *p;
    cout << endl << "max: " << amax;
}
samira di
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
26.03.2012, 21:07  [ТС]     адреса #3
не знаю в чем дело, но я ваш код вбила, и вообще ничего не работает.

Почему с адресами он не выполняет break, а с индексами работает?
и как правильно найти максимальный из отрицательных членов? вроде так пишу, но не получается.
Duha666
50 / 50 / 5
Регистрация: 10.03.2012
Сообщений: 138
27.03.2012, 04:47     адреса #4
Что именно не работает?

Забыл сделать amax изначально очень маленьким.
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
#include <iostream>
#include <math.h>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
    int a[25], *p;
    int amax = -1000000, c;
    for (p = a; p < a + 25; p++)
    {
        *p = rand() % 201 - 100;
        cout << * p << " ";
    }
    for (p = a; p < a + 25; p++)
    {
        if (*p < 0)
            break;
    }
    cout << endl << "pervoe: " << *p;
    for (p = a + 24; p >= 0, *p >= 0; p--);
    cout << endl << "poslednee: " << *p;
    for (p = a; p < a + 25; p++)
        if (*p < 0 && *p > amax)
            amax = *p;
    cout << endl << "max: " << amax;
}
samira di
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
16.04.2012, 20:44  [ТС]     адреса #5
разобралась )))


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
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
int main()
{ int a[25],*p;
int a1,an,amax,c;
for (p=a;p<a+25;p++)
{*p=rand()%201-100;
cout<<*p<<"  ";}
cout<<endl;
 for(p=a;p<a+25;p++)
  if (*p<0)
  {a1=*p;
  break;
  }
  cout<<endl<<"pervoe:  "<<a1<<endl;
{for (p=a;p<a+25;p++)
 if (*p<0)
 c=*p;
 cout<<endl<<"poslednee: "<<c<<endl;}
 amax=a1;
for (p=a;p<a+25;p++)
 if ((*p<0) && (*p>amax))
 amax=*p;
  cout<<endl<<"max: "<<amax;
cin.get();
cin.get();}
Yandex
Объявления
16.04.2012, 20:44     адреса
Ответ Создать тему
Опции темы

Текущее время: 06:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru