Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/23: Рейтинг темы: голосов - 23, средняя оценка - 4.83
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
1

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

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

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

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

Двумерный массив: Вывести на экран значение минимального элемента
Нужна помощь в написании следующей программы: задать массив 10X10. Вывести на экран значение...

Дан одномерный числовой массив. Увеличить значение каждого элемента на k и вывести изменный массив на экран монитора.
Добрового времени суток ! Задача: Дан одномерный числовой массив. Увеличить значение каждого...

Из максимального элемента массива вычесть значение минимального и вывести разность на экран
Задан одномерный массив, каждым элементом которого является строка символов, состоящая из одних...

Вывести на экран: а) весь массив; б) все элементы пятого строки массива
Дан двумерный массив. Вывести на экран: а) весь массив; б) все элементы пятого строки массива; в)...

9
Croessmah
++Ͻ
15466 / 8804 / 1689
Регистрация: 27.09.2012
Сообщений: 21,705
Записей в блоге: 2
Завершенные тесты: 2
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
4199 / 1776 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
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 Посмотреть сообщение
наглядное пособие, как делать не надо: если ты уже перебираешь адреса, то и признак конца цикла тоже уже есть - попадание адреса в диапазон адресов элементов. Адрес нулевого элемента нам уже известен, адрес последнего легко вычисляется один раз, остальные адреса между ними. При этом имеем ту же самую одну вспомогательную переменную при прямом переборе и можем обойтись вообще без вспомогательных переменных при обратном перебое.
Прост писал сначала по другому, а потом передумал:D

0
taras atavin
4199 / 1776 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
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
4199 / 1776 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
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
++Ͻ
15466 / 8804 / 1689
Регистрация: 27.09.2012
Сообщений: 21,705
Записей в блоге: 2
Завершенные тесты: 2
28.11.2012, 05:55 8
Цитата Сообщение от taras atavin Посмотреть сообщение
std::cout<<*p<<std::endl;
Если не ошибаюсь, в <iostream.h> нет пространства std
0
taras atavin
4199 / 1776 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
28.11.2012, 05:56 9
Цитата Сообщение от Croessmah Посмотреть сообщение
Давно устарел
И чем же он от <iostream> отличается?
0
Croessmah
++Ͻ
15466 / 8804 / 1689
Регистрация: 27.09.2012
Сообщений: 21,705
Записей в блоге: 2
Завершенные тесты: 2
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

С клавиатуры ввести одномерный массив, вывести его на экран, найти номер минимального элемента
С клавиатуры ввести одномерный массив, вывести его на экран, найти номер минимального элемента.

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

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


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

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

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