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

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

Войти
Регистрация
Восстановить пароль
 
denisneposeda
46 / 46 / 12
Регистрация: 18.10.2010
Сообщений: 212
#1

Массивы через указатели - C++

16.11.2011, 13:54. Просмотров 606. Ответов 8
Метки нет (Все метки)

Задание 1
В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число A, в противном случае подсчитать сумму чисел, в два раза превосходящих A; кроме того, вычислить произведение чисел, меньших A.

Задание 2
Задана квадратная матрица порядка N. Вычислить произведение положительных чисел, лежащих на главной диагонали и ниже ее.
Программа должна выполнять ввод и вывод матрицы и дополнительных данных, выполнять необходимые действия и выводить результаты.

нужно написать через указатели.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2011, 13:54     Массивы через указатели
Посмотрите здесь:

Динамические двумерные массивы через указатели. Как это происходит? - C++
Вот типичная идентификация двумерного массива (NxM): int** mass = new int*; for(i=0; i<N; i++) mass = new int; Помогите...

программа сделана через указатели, переделать через ссылки. - C++
#include "stdafx.h" #include <iostream> #include <iomanip> #include <cmath> using namespace std; void calculation(double...

Указатели и массивы - C++
Если у меня есть две функции, в одной из которых объявлен динамический массив и указатель на него.А во второй функции входным параметром...

Указатели и массивы - C++
Программа должна заменить все элементы массива с отрицательными значениями средним арифметическим значением всех положительных элементов....

Указатели и массивы - C++
Привет всем. Объясните пожалуйста int* v; int**v; Чем они эквивалентны?

Указатели и массивы - C++
Помогите переделать через указатель int *x. #include<iostream.h> #include<string.h> #include<conio.h> main() { clrscr(); ...

указатели и массивы - C++
Из всех языков программирования с которыми мне приходилось в процессе работы работать (тафтология) с++ (плюсы) я всегда избегал, интуитивно...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amor1k
Студент
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
16.11.2011, 14:38     Массивы через указатели #2
1)
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
48
#include <iostream>
#include <time.h>
using namespace std;
 
int main() 
{
    int n; cin >> n;
    int *arr = new int [n];
    srand(time(NULL));
    for(int i = 0; i < n; i++) 
    {
        *(arr+i) = rand()%15;
    }
    int temp;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n-1; j++)
        {
            if(arr[j] < arr[j+1])
            {
                temp = *(arr+j);
                *(arr+j) = *(arr+(j+1));
                *(arr+(j+1)) = temp;
            }
        }
    }
    for(int i = 0; i < n; i++)
        cout << *(arr+i) << " ";
    int a, sum = 0, p = 1;
    cout << "\nEnter A = ";
    cin >> a;
    for(int i = 0; i < n; i++)
    {
        if(*(arr+i) == a)
        {
            cout << "Yes" << endl;
        }
        else
        {
            if((a+a) == *(arr+i))
                sum += *(arr+i);
        }
    }
    for(int i = 0; i < n; i++)
        if(*(arr+i) < a)
            p *= *(arr+i);
    cout << "Summ = " << sum << ", proz = " << p;
}
так?
denisneposeda
46 / 46 / 12
Регистрация: 18.10.2010
Сообщений: 212
16.11.2011, 16:14  [ТС]     Массивы через указатели #3
да, условие верно выполнено...пролсто через указатели пока не въехал...их работу, присвоение и тд и тп...жду 2...где уже матрица...
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
16.11.2011, 16:17     Массивы через указатели #4
amor1k, судя по заданию, просто требуется применить двоичный поиск в отсортированном массиве.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
16.11.2011, 16:52     Массивы через указатели #5
Цитата Сообщение от denisneposeda Посмотреть сообщение
В упорядоченном по невозрастанию массиве чисел определить, есть ли заданное число A, в противном случае подсчитать сумму чисел, в два раза превосходящих A; кроме того, вычислить произведение чисел, меньших A.
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
48
49
50
51
52
53
54
void (double *data, double A, int n, double &s, double &p, double *&f)
{
 double *f1;
 double *i;
 for (f1=NULL, i=data+n-1; i>=data; --i)
 {
  if ((*i)==A)
  {
   f1=i;
   break;
  }
 }
 if (f1)
 {
  for (f=f1, i=data; i<f1; ++i)
  {
   if ((*i)==A)
   {
    f=i;
    break;
   }
  }
 }
 else
 {
  f=NULL;
 }
 if (f)
 {
  if (f>Data)
  {
   for (p=1.0, i=Data; i<f; ++i)
   {
    p*=*i;
   }
  }
  else
  {
   p=0.0;
  }
  for (i=data+n-1, s=0.0; i>f1; --i)
  {
   if ((*i)==2.0*A)
   {
    s+=*i;
   }
  } 
 }
 else
 {
  s=0.0;
  p=0.0;
 }
}
denisneposeda
46 / 46 / 12
Регистрация: 18.10.2010
Сообщений: 212
16.11.2011, 17:22  [ТС]     Массивы через указатели #6
так так, мне и первый вариант подошел) а вот вторую задачу нужно...
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
16.11.2011, 18:08     Массивы через указатели #7
Цитата Сообщение от denisneposeda Посмотреть сообщение
Задание 2
Задана квадратная матрица порядка N. Вычислить произведение положительных чисел, лежащих на главной диагонали и ниже ее.
Программа должна выполнять ввод и вывод матрицы и дополнительных данных, выполнять необходимые действия и выводить результаты.
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
double Calc(doube **data, int n)
{
 double **i;
 double *e;
 double *j;
 double r;
 bool f;
 for (r=1.0, f=true, i=data+n-1; i>=data; --i)
 {
  e=*i+(i-data);
  for (j=*i+n-1; j>=e; --j)
  {
   if ((*j)>0)
   {
    r*=*j;
    f=false;
   }
  }
 }
 if (f)
 {
  r=0.0;
 }
 return r;
}
denisneposeda
46 / 46 / 12
Регистрация: 18.10.2010
Сообщений: 212
16.11.2011, 18:10  [ТС]     Массивы через указатели #8
вот спасибо)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2011, 15:11     Массивы через указатели
Еще ссылки по теме:

Массивы и указатели. - C++
Объясните как работает код, что он будет выводить на экран и почему : #include &lt;stdio.h&gt; #define PRD(a) printf(&quot;%d&quot;, (a) ) //...

Массивы и указатели - C++
Создать функцию, подсчитывающую количество отрицательных элементов одномерного массива, порядковый номер которых меньше номера минимального...

Ссылки, указатели и массивы - C++
Что-то не лезут в голову указатели и ссылки. Вот как я всё понимаю: Ссылки. Ссылочные переменные ссылаются на адрес уже существующих...

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

задача на массивы и указатели С++ - C++
Размерность массива 30. Диапозон значений (-20,20). Какое абсолютное значение встречается в массиве чаще остальных?(решать через указатели...


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

Или воспользуйтесь поиском по форуму:
denisneposeda
46 / 46 / 12
Регистрация: 18.10.2010
Сообщений: 212
15.12.2011, 15:11  [ТС]     Массивы через указатели #9
up

вторую задачку решите плз.
Yandex
Объявления
15.12.2011, 15:11     Массивы через указатели
Ответ Создать тему
Опции темы

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