Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

Создать массив из 10 случайных целых чисел из отрезка; вывести значение минимального элемента массива - C++
Написать программу, создающую массив из 10 случайных целых чисел из отрезка . Вывести на экран весь массив и на отдельной строке — значение...

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

Вычислить и вывести на экран значение: Максимального элемента массива и в каждой строке - C++
Переведите пожалуйста код на C++.Заранее большое спасибо uses crt; var m:integer; i,j:integer; matrix:array of integer; begin ...

Отсортировать массив и вывести на экран (массивы и указатели на указатели) - C++
Даны массивы F-фамилий студентов и S-результаты сессии (5 оценок) , причем s- результат сессии F студента. Отсортировать массив S по...

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

Найти и вывести на экран номера первого и последнего минимального элемента одномерного массива - C++
Дан одномерный массив А. Найти номера первого и последнего минимального элемента из данного массива и вывести их в указанном порядке

9
Croessmah
Пришел
Эксперт CЭксперт С++
13734 / 7813 / 888
Регистрация: 27.09.2012
Сообщений: 19,196
Записей в блоге: 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;
}
0
taras atavin
3883 / 1757 / 92
Регистрация: 24.11.2009
Сообщений: 27,566
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;
}
0
Croessmah
28.11.2012, 05:47
  #4

Не по теме:

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

0
taras atavin
3883 / 1757 / 92
Регистрация: 24.11.2009
Сообщений: 27,566
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;
}
0
Croessmah
28.11.2012, 05:52
  #6

Не по теме:

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

0
taras atavin
3883 / 1757 / 92
Регистрация: 24.11.2009
Сообщений: 27,566
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;
}
0
Croessmah
Пришел
Эксперт CЭксперт С++
13734 / 7813 / 888
Регистрация: 27.09.2012
Сообщений: 19,196
Записей в блоге: 3
Завершенные тесты: 1
28.11.2012, 05:55 #8
Цитата Сообщение от taras atavin Посмотреть сообщение
std::cout<<*p<<std::endl;
Если не ошибаюсь, в <iostream.h> нет пространства std
0
taras atavin
3883 / 1757 / 92
Регистрация: 24.11.2009
Сообщений: 27,566
28.11.2012, 05:56 #9
Цитата Сообщение от Croessmah Посмотреть сообщение
Давно устарел
И чем же он от <iostream> отличается?
0
Croessmah
Пришел
Эксперт CЭксперт С++
13734 / 7813 / 888
Регистрация: 27.09.2012
Сообщений: 19,196
Записей в блоге: 3
Завершенные тесты: 1
28.11.2012, 05:59 #10
Цитата Сообщение от taras atavin Посмотреть сообщение
И чем же он от <iostream> отличается?
Хотя бы пространством имен, еще .h широкие символы не поддерживает,
0
28.11.2012, 05:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2012, 05:59
Привет! Вот еще темы с ответами:

Описать в виде отдельной функции определение минимального элемента в заданной части массива - C++
Ребята выручайте! 4.Дан числовой массив X. Определить min (X, X, … , X) + min (X, X, … , X) Описать в виде отдельной функции...

Дан массив A[N]. Все положительные элементы уменьшить на значение минимального элемента - C++
Здравствуйте! Помогите немного доделать вот такую задачку: Дано: ...

Массив: Посчитать разность максимального и минимального элемента массива - C++
Ребят помогите пожалуйста написать програмку, она должна считать разность максимального и минимальнго элемента 1 массива (массив типа 4, 1,...

Массив: номер минимального и максимального по модулю элемента массива - C++
В одномерном массиве состоящем из n вещественных элементов вычислить:1) номер минимального и максимального по модулю ялемента массива 2)...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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