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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
#1

Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива - C++

28.11.2012, 03:31. Просмотров 2699. Ответов 9
Метки нет (Все метки)

Нужна помощь, не знаю как сделать это задание. Написать программу, которая создает массив из 10 случайных целых чисел из отрезка [-50, 50]. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива. Для обхода массива использовать указатели (запрещено обращаться к элементам массива по индексам).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2012, 03:31     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива
Посмотрите здесь:
C++ Создать массив из 10 случайных целых чисел из отрезка; вывести значение минимального элемента массива
Написать программу, которая выводит на экран значение минимального элемента массива из 100 элементов. Вывести минимальный элемент C++
C++ Вычислить и вывести на экран значение: Максимального элемента массива и в каждой строке
Вывести на экран массив используя указатели C++
Найти и вывести на экран номера первого и последнего минимального элемента одномерного массива C++
Описать в виде отдельной функции определение минимального элемента в заданной части массива C++
C++ Дан массив A[N]. Все положительные элементы уменьшить на значение минимального элемента
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
28.11.2012, 03:39     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <random>
#include <ctime>
int main()
{
    srand(time(0));
    const int size=10;
    int arr[size];
    int min=50;
    for(int i=0,*p=arr;i<size;++i,++p){
        std::cout<<(*p=(rand()%101-50))<<" ";
        if(*p<min) min=*p;
    }
    std::cout<<"\nmin = "<<min<<"\n";
    std::cin.get();
    return EXIT_SUCCESS;
}
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
28.11.2012, 05:44     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива #3
Цитата Сообщение от Croessmah Посмотреть сообщение
for(int i=0,*p=arr;i<size;++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
#include <iostream.h>
int main()
{
 int a[10];
 int *p;
 int *e;
 int *m;
 e=a+9;
 for (p=e; p>=a; --p)
 {
  *p=(rnd%101)-50;
 }
 for (m=e; p>=a; --p)
 {
  if (*m<*p)
  {
   m=p;
  }
 }
 for (p=a; p<=e; ++p)
 {
  std::cout<<*p<<std::endl;
 }
 std::cout<<"min="<<*m<<std::endl;
 return 0;
}
Croessmah
28.11.2012, 05:47
  #4

Не по теме:

Цитата Сообщение от taras atavin Посмотреть сообщение
наглядное пособие, как делать не надо: если ты уже перебираешь адреса, то и признак конца цикла тоже уже есть - попадание адреса в диапазон адресов элементов. Адрес нулевого элемента нам уже известен, адрес последнего легко вычисляется один раз, остальные адреса между ними. При этом имеем ту же самую одну вспомогательную переменную при прямом переборе и можем обойтись вообще без вспомогательных переменных при обратном перебое.
Прост писал сначала по другому, а потом передумал

taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
28.11.2012, 05:52     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива #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
#include <iostream.h>
int main()
{
 int a[10];
 int *p;
 int *e;
 int *m;
 e=a+9;
 m=e;
 for (p=e; p>=a; --p)
 {
  *p=(rnd%101)-50;
   if (*m<*p)
   {
    m=p;
   }
 }
 for (p=a; p<=e; ++p)
 {
  std::cout<<*p<<std::endl;
 }
 std::cout<<"min="<<*m<<std::endl;
 return 0;
}
Croessmah
28.11.2012, 05:52
  #6

Не по теме:

Цитата Сообщение от taras atavin Посмотреть сообщение
C++
1
#include <iostream.h>
Давно устарел

taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
28.11.2012, 05:53     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
int main()
{
 int a[10];
 int *p;
 int *e;
 int *m;
 e=a+9;
 m=a;
 for (p=a; p<=e; ++p)
 {
  *p=(rnd%101)-50;
   if (*m<*p)
   {
    m=p;
   }
  std::cout<<*p<<std::endl;
 }
 std::cout<<"min="<<*m<<std::endl;
 return 0;
}
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
28.11.2012, 05:55     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива #8
Цитата Сообщение от taras atavin Посмотреть сообщение
std::cout<<*p<<std::endl;
Если не ошибаюсь, в <iostream.h> нет пространства std
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
28.11.2012, 05:56     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива #9
Цитата Сообщение от Croessmah Посмотреть сообщение
Давно устарел
И чем же он от <iostream> отличается?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2012, 05:59     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива
Еще ссылки по теме:
Массив: номер минимального и максимального по модулю элемента массива C++
C++ Массив: Посчитать разность максимального и минимального элемента массива
C++ В массив В перенести все элементы массива А, стоящие левее минимального элемента
Одномерный массив. Заменить все элементы с отрицательным значением на значение минимального не равного 0 положительного элемента. C++
C++ Задачка на массив. Заменить все его элементы с отрицательным значением на значение минимального положительного элемента

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
28.11.2012, 05:59     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива #10
Цитата Сообщение от taras atavin Посмотреть сообщение
И чем же он от <iostream> отличается?
Хотя бы пространством имен, еще .h широкие символы не поддерживает,
Yandex
Объявления
28.11.2012, 05:59     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива
Ответ Создать тему
Опции темы

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