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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
28.11.2012, 03:31     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива #1
Нужна помощь, не знаю как сделать это задание. Написать программу, которая создает массив из 10 случайных целых чисел из отрезка [-50, 50]. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива. Для обхода массива использовать указатели (запрещено обращаться к элементам массива по индексам).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2012, 03:31     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива
Посмотрите здесь:

Одномерный массив. Заменить все элементы с отрицательным значением на значение минимального не равного 0 положительного элемента. C++
C++ Вычислить и вывести на экран значение: Максимального элемента массива и в каждой строке
Написать программу, которая выводит на экран значение минимального элемента массива из 100 элементов. Вывести минимальный элемент C++
C++ Массив: Посчитать разность максимального и минимального элемента массива
Массив: номер минимального и максимального по модулю элемента массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11832 / 6811 / 769
Регистрация: 27.09.2012
Сообщений: 16,885
Записей в блоге: 2
Завершенные тесты: 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
Ушёл с форума.
 Аватар для 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
Ушёл с форума.
 Аватар для 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
Ушёл с форума.
 Аватар для 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
Модератор
Эксперт С++
 Аватар для Croessmah
11832 / 6811 / 769
Регистрация: 27.09.2012
Сообщений: 16,885
Записей в блоге: 2
Завершенные тесты: 1
28.11.2012, 05:55     Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива #8
Цитата Сообщение от taras atavin Посмотреть сообщение
std::cout<<*p<<std::endl;
Если не ошибаюсь, в <iostream.h> нет пространства std
taras atavin
Ушёл с форума.
 Аватар для 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++ Создать массив из 10 случайных целых чисел из отрезка; вывести значение минимального элемента массива
C++ Дан массив A[N]. Все положительные элементы уменьшить на значение минимального элемента
Описать в виде отдельной функции определение минимального элемента в заданной части массива C++

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

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

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