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

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

Войти
Регистрация
Восстановить пароль
 
VAAADIM
2 / 2 / 1
Регистрация: 14.10.2013
Сообщений: 47
#1

Указатели - C++

21.10.2013, 00:22. Просмотров 194. Ответов 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
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
 
 
int main(int argc, char *argv[])
{   const int n = 30;
    int a, b;
    cout << "Input A" << endl;
    cin >> a;
    cout << endl << "Input B" << endl;
    cin >> b;
    int array[n]; // объявляем массив длиной n
    cout << endl << endl << "N = " << n << endl;
    cout << endl << endl << "A = " << a << endl;
    cout << endl << endl << "B = " << b << endl;
    cout << "Array:" << endl;
    for (int i=0;i<n;i++) // генерируем числа в нужном промежутке и выводим на экран
    {
        array[i] = rand() % (b-a+1) + a;
        cout << "array[" << i << "] = " << array[i] << "\t";
    }
    int min = 0; // в min храним индекс минимального элемента, изначально 
    for (int i=0;i<n;i++)
    {
        if (abs(array[i]) < abs(array[min])) min = i; // сравниваем элемент с минимальным
    }
    cout << "minimal element: array[" << min << "] = " << array[min] << endl;
    int summ = 0;
    int c = 0;
    while (array[c]!=0 && c < n) c++; // ползем до первого 0 в массиве
    if (c < n) // если ноль нашелся, считаем сумму
    {
        for (int i=c+1;i<n;i++) summ += array[i];
        cout << "Summa (" << c+1 << ".." << n-1 << ") = " << summ << endl;
    }
    else // если нет, выводим извещение
    {
        cout << "Not find 0" << endl; 
    }
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2013, 00:22     Указатели
Посмотрите здесь:

Указатели, такие указатели - C++
char str=&quot;Kak&lt;dela&gt;rab?&quot;; char *p; p=str; for(int i=0;p;i++) p=toupper(p); cout&lt;&lt;&amp;str&lt;&lt;endl;//ПОЧЕМУ ЗДЕСЬ ВЫВОДИТ ВСЮ СТРОКУ, А...

Указатели - C++
Используя вместо самой переменной указатель на нее написать программу в соответствии с заданием (выполнение задания оформить...

Указатели - C++
например мы имеем данный кусок кода char str=&quot;eto prostoi test&quot;; char *start; start=str; cout&lt;&lt;start; *start='b'; ...

Указатели - C++
int k=5; int *ukaz; ukaz=&amp;k; *ukaz=17; printf(&quot;%o\n&quot;,ukaz); printf(&quot;%o\n&quot;,k); system(&quot;pause&quot;); Может, что то я делаю не...

Указатели С - C++
Объясните пожалуйста как получается что запись типа *(1+data) эквивалентна записи 1. Как из data получается *(1+data) и *(data+1)...

Указатели - C++
Как эту программу можно записать через указатели? #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int min(int ,int);...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7180 / 4346 / 634
Регистрация: 29.11.2010
Сообщений: 11,829
21.10.2013, 00:26     Указатели #2
Цитата Сообщение от VAAADIM Посмотреть сообщение
array[c]
фактически *(array+с)
VAAADIM
2 / 2 / 1
Регистрация: 14.10.2013
Сообщений: 47
21.10.2013, 00:27  [ТС]     Указатели #3
Цитата Сообщение от MrGluck Посмотреть сообщение
фактически *(array+с)
Если можно в программу перепиши, а то я с этим сооовсем не дружу)
MrGluck
Модератор
Эксперт CЭксперт С++
7180 / 4346 / 634
Регистрация: 29.11.2010
Сообщений: 11,829
21.10.2013, 00:32     Указатели #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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <conio.h>
#include <cmath>
#include <ctime>
using namespace std;
 
 
int main()
{   const int n = 30;
    int a, b;
    cout << "Input A" << endl;
    cin >> a;
    cout << endl << "Input B" << endl;
    cin >> b;
    int array[n]; // объявляем массив длиной n
    cout << endl << endl << "N = " << n << endl;
    cout << endl << endl << "A = " << a << endl;
    cout << endl << endl << "B = " << b << endl;
    cout << "Array:" << endl;
 
    srand(time(0));
    for (int i=0;i<n;i++) // генерируем числа в нужном промежутке и выводим на экран
    {
        *(array + i) = rand() % (b-a+1) + a;
        cout << "array[" << i << "] = " << *(array + i) << "\t";
    }
    int *min = array; // в min храним индекс минимального элемента, изначально
    for (int i=0;i<n;i++)
    {
        if (abs(*(array + i)) < abs(*min)) min = array + i; // сравниваем элемент с минимальным
    }
    cout << "minimal element = " << *min << endl;
    int summ = 0;
    int c = 0;
    while (*(array + c)!=0 && c < n) c++; // ползем до первого 0 в массиве
    if (c < n) // если ноль нашелся, считаем сумму
    {
        for (int i=c+1;i<n;i++) summ += *(array + i);
        cout << "Summa (" << c+1 << ".." << n-1 << ") = " << summ << endl;
    }
    else // если нет, выводим извещение
    {
        cout << "Not find 0" << endl;
    }
    _getch();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2013, 00:40     Указатели
Еще ссылки по теме:

Указатели. - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #define N 4 #define M 5 void main() { { int mass; for(int i = 0; i&lt; N; i++){ ...

Указатели - C++
Почему выводятся какие-то непонятные цифры? И почему если приводить к типу char то все норм? #include &lt;iostream&gt; using namespace...

Указатели. - C++
Да в конце концов, хочу понять и выучить эти указатели. Немного понял, но все же проблемы и хочу узнать ваши советы. практиковался...

Указатели - C++
Задача: Если в матрице есть две одинаковых строки, то упорядочить столбцы матрицы по неубыванию суммы положительных элементов. Память под...


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

Или воспользуйтесь поиском по форуму:
VAAADIM
2 / 2 / 1
Регистрация: 14.10.2013
Сообщений: 47
21.10.2013, 00:40  [ТС]     Указатели #5
БОЛЬШОЕ СПАСИБО
Yandex
Объявления
21.10.2013, 00:40     Указатели
Ответ Создать тему
Опции темы

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