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

Дан массив A[N]. Все положительные элементы уменьшить на значение минимального элемента - C++

Восстановить пароль Регистрация
 
Richie_Bolat
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 12
25.03.2014, 21:09     Дан массив A[N]. Все положительные элементы уменьшить на значение минимального элемента #1
Здравствуйте! Помогите немного доделать вот такую задачку:

Дано:

Составить программу обработки одномерного массива. Доступ к элементам массива осуществлять с помощью указателя. Элементы массива заполнить, используя функцию генератора случайных чисел.

Дан массив A[N]. Все положительные элементы уменьшить на значение минимального элемента. Осуществить сдвиг вправо на k позиций, где k – число положительных элементов

Без указателей, я ее решил, вот привожу пример:

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
#include<stdio.h>
#include<math.h>
#include<iostream>
 
 
int main()
     {
        
          int a[100], min, i, k, n, pol, buf,j;
          pol=0;
          printf("\n vvedite n \n n=");
          scanf("%d",&n);
          
          printf("\n->\t");
          for(i=0;i<n;i++)
          //scanf("%d",&a[i]);
   { a[i]=rand()%10-5;
            printf("%d \t", a[i]);
          }   
          // find min elements 
            min=a[0];
            for(i=1;i<n;i++)
              if(a[i]<min) min=a[i];
            printf("\n Min element massiva: %d \n", min);
          // 
          k=0;
          for(i=0; i<n; i++)
           { 
                   if(a[i]>0) 
                   { k++; a[i]=a[i]-min; pol++;}
             printf("a[%d]=%d \n", i, a[i]);
           }
           
           for (i=0;i< n;i++)
   printf ("%d ",a[i]);
     for (i=0;i<pol;i++)
   { buf=a[0];
      for(j=0;j<n-1;j++)
      a[j]=a[j+1];
      a[n-1]=buf;    }
      
              printf ("\n \n Sdvig elementov b[n] na %d pozicii \n", pol);
    for (i=0;i< n;i++)
      printf ("%d ",a[i]);
    printf ("\n");
  system("PAUSE");  
            
     return 0;
     }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2014, 21:09     Дан массив A[N]. Все положительные элементы уменьшить на значение минимального элемента
Посмотрите здесь:

C++ Дан массив.Все положительные элементы уменьшить на количество отрицательных элементов. Осуществить сдвиг вправо
Одномерный массив. Заменить все элементы с отрицательным значением на значение минимального не равного 0 положительного элемента. C++
Массив. Удалить все положительные элементы, имеющие четный порядковый номер, идущие после минимального элемента массива C++
C++ Дан массив целых чисел из 10 элементов.Все элементы кратные 10 заменить 0;Все нечетные элементы удвоить, а четные уменьшить на 2;
C++ Задачка на массив. Заменить все его элементы с отрицательным значением на значение минимального положительного элемента
Дан массив. Все его элементы уменьшить на число А C++
Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о C++
C++ Заменить все положительные элементы целочисленного массива на значение минимального

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_include
Студент
 Аватар для _include
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
25.03.2014, 22:12     Дан массив A[N]. Все положительные элементы уменьшить на значение минимального элемента #2
Доступ к элементам массива осуществлять с помощью указателя.
Элементы массива заполнить, используя функцию генератора случайных чисел.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void func(int * mas, int q)
{
/*****************/
}
/***********или если массив обработанный надо вернуть:**************/
int* func(int * mas, int q)
{
/*****************/
return mas;
}
 
void main()
{
int *mas = new int [10];
/*******************/
for( i = 0 ; i < n ; i++)
 mas[i]=rand()%10-5;
func (mas, n);
delete [] mas;
}
Yandex
Объявления
25.03.2014, 22:12     Дан массив A[N]. Все положительные элементы уменьшить на значение минимального элемента
Ответ Создать тему
Опции темы

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