Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Miss Endeavour
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
#1

Поиск максимального элемента вектора - C++

08.12.2010, 13:33. Просмотров 1316. Ответов 25
Метки нет (Все метки)

Написала программу поиска максимального элемента вектора, только теперь её надо переделать немного с использованием указателей...

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
#include<iostream.h>
#include<malloc.h>
#include<stdlib.h>
#include<conio.h>
 
 
 
void main(void)
{
 
 clrscr();
 
 
// const a=20;
 int mas[20],i,max;
cout<<"Vvedite vector J\n";
 
 for ( i = 0; i <20; i++)
 
    cin>>mas[i];
    cout<<'\n';
 
 
  for ( i = 0; i <20; i++)
 
 
    cout<<mas[i]<<" ";
 
     cout<<'\n';
     max=mas[0];
      for (i=0; i<20; i++)
      {
    if(max<mas[i]) max = mas[i];
     }
    cout<<"Naibol'shiy element vectora = "<<max;
    getch();
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2010, 13:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поиск максимального элемента вектора (C++):

Определить четность максимального элемента вектора
1.Дан вектор X(N)Определить каким числом четным или не четным является номер...

Поиск максимального элемента
Нужна сделать поиск максимального элемента массива путем деления пополам не...

Поиск максимального элемента массива
Задание из ОГЭ , требуется написать, какое число выведет программа. Почему...

Поиск максимального элемента массива
Всем вечер добрый Вот моя ситуация: дано два одномерных массива А и Б...

Поиск максимального элемента в файле
Доброго времеи суток. Не подскажие, как осуществить поиск максимального элемета...

Поиск максимального элемента по модулю
Дана целочисленная прямоугольная матрица А. Составить новую матрицу В из тех...

25
Day
1159 / 964 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
08.12.2010, 14:37 #2
C
1
2
3
4
5
int *pm, *p;
pm = mas;
for(i=1, p=mas+1; i<20; i++, p++) 
  if (*pm < *p) pm = p;
cout << *pm;
0
LineStown
66 / 66 / 6
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
08.12.2010, 14:41 #3
1. А где сдесь вектор? Я только масив вижу.
2. Написанная программа абсолютно не работоспособная. Учимся писать и задавать вопросы по тому, что не получается, а не просить написать задачу.
0
Miss Endeavour
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 14:48  [ТС] #4
Цитата Сообщение от LineStown Посмотреть сообщение
1. А где сдесь вектор? Я только масив вижу.
2. Написанная программа абсолютно не работоспособная. Учимся писать и задавать вопросы по тому, что не получается, а не просить написать задачу.
Вектор - это и есть массив, только одномерный.
А чем программа плоха? она выполняет поставленную задачу.
Только я понятия не имею причем тут указатели... все получается и без них
0
Sunman
56 / 56 / 14
Регистрация: 02.03.2010
Сообщений: 406
08.12.2010, 14:52 #5
Цитата Сообщение от Miss Endeavour Посмотреть сообщение
Вектор - это и есть массив, только одномерный.
А чем программа плоха? она выполняет поставленную задачу.
Только я понятия не имею причем тут указатели... все получается и без них
Дело в том, что у простого массива строго фиксировано кол-во элементов.
0
Miss Endeavour
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 14:54  [ТС] #6
Я это понимаю, и в задании было указано, что вектор состоит из 20 элементов
0
LineStown
66 / 66 / 6
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
08.12.2010, 14:54 #7
Цитата Сообщение от Miss Endeavour Посмотреть сообщение
Вектор - это и есть массив, только одномерный.
А чем программа плоха? она выполняет поставленную задачу.
Только я понятия не имею причем тут указатели... все получается и без них
Намекну:
1.cout без namespace работать не будет
2.clrscr() - паскалевская функция, в с++ её нет.
Вывод - прога не работает.
0
Miss Endeavour
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 14:58  [ТС] #8
Цитата Сообщение от LineStown Посмотреть сообщение
Намекну:
1.cout без namespace работать не будет
2.clrscr() - паскалевская функция, в с++ её нет.
Вывод - прога не работает.
Намёк понят, но есть нюанс)
Программа написана на Borland C++ for DOS, и там не нужно каждый раз писать std: перед cout, да и clrscr прекрасно работает с подключенной библиотекой conio.h
0
LineStown
66 / 66 / 6
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
08.12.2010, 15:05 #9
Цитата Сообщение от Miss Endeavour Посмотреть сообщение
Намёк понят, но есть нюанс)
Программа написана на Borland C++ for DOS, и там не нужно каждый раз писать std: перед cout, да и clrscr прекрасно работает с подключенной библиотекой conio.h
"Borland C++ for DOS" морально и вообще безнадежно устарел и не соблюдает стандарт c++.
0
kazak
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
08.12.2010, 15:07 #10
Цитата Сообщение от LineStown Посмотреть сообщение
Намекну:
1.cout без namespace работать не будет
2.clrscr() - паскалевская функция, в с++ её нет.
Вывод - прога не работает.
1)Если присмотреться внимательно, то можно увидеть
Цитата Сообщение от Miss Endeavour Посмотреть сообщение
#include<iostream.h>
Тот факт, что заголовочный файл с расширением, говорит о том, что используется старый стандарт, а значить ни std, ни namespace не требуется.
2)clrscr() присутствует в ДОС'их компиляторах, объявлен в conio.h
0
Miss Endeavour
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 15:11  [ТС] #11
Цитата Сообщение от LineStown Посмотреть сообщение
"Borland C++ for DOS" морально и вообще безнадежно устарел и не соблюдает стандарт c++.
А нас не спрашивают в универе на чем нам больше программировать нравится(
0
LineStown
66 / 66 / 6
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
08.12.2010, 15:15 #12
Вообщем указатель на масив:
обьявление
C++
1
int *a=new int[20];
доступ к элементам:
C++
1
*(a+i)
где i - номер элемента
Дальше я думаю понятно) если програ написана)
0
Miss Endeavour
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 15:26  [ТС] #13
Вот использовала я указатель:

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
#include<iostream.h>
#include<malloc.h>
#include<stdlib.h>
#include<conio.h>
 
void main(void)
{
 
 clrscr();
 
 int mas[20],i,max, *aPtr;
cout<<"Vvedite vector J\n";
 randomize();
 aPtr = mas;
 for ( i = 0; i <20; i++)
 
    mas[i]=random(100)-50;
    cout<<'\n';
  for ( i = 0; i <20; i++)
    cout<<mas[i]<<" ";
     cout<<'\n';
     max=mas[0];
      for (i=0; i<20; i++)
      {
    if(max<mas[i]) max = mas[i];
     }
    cout<<"\nNaibol'shiy element vectora = "<<max;
    getch();
 
}
Но этого, наверное, недостаточно... я просто не понимаю зачем здесь указатели вообще нужны)
0
LineStown
66 / 66 / 6
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
08.12.2010, 15:28 #14
Цитата Сообщение от Miss Endeavour Посмотреть сообщение
Но этого, наверное, недостаточно... я просто не понимаю зачем здесь указатели вообще нужны)
Указатель использовать вместо масива. Выкинуть mas
0
Miss Endeavour
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 15:39  [ТС] #15
А теперь похоже?)
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
#include<iostream.h>
#include<malloc.h>
#include<stdlib.h>
#include<conio.h>
 
 
 
void main(void)
{
 
 clrscr();
 
 int mas[20],i,max, *aPtr;
cout<<"Vvedite vector J\n";
 randomize();
 aPtr = mas;
 for ( i = 0; i <20; i++)
 
    aPtr[i]=random(100)-50;
    cout<<'\n';
 
 
  for ( i = 0; i <20; i++)
 
 
    cout<<aPtr[i]<<" ";
 
     cout<<'\n';
     max=aPtr[0];
      for (i=0; i<20; i++)
      {
    if(max<aPtr[i]) max = aPtr[i];
     }
    cout<<"\nNaibol'shiy element vectora = "<<*aPtr;
    getch();
}
0
LineStown
66 / 66 / 6
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
08.12.2010, 15:43 #16
Указатель тут есть. Но для полной реализации нужно ВООБЩЕ удалить масив mas[]
Я же написал как обьявить
0
Miss Endeavour
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 15:59  [ТС] #17
Цитата Сообщение от LineStown Посмотреть сообщение
Указатель тут есть. Но для полной реализации нужно ВООБЩЕ удалить масив mas[]
Я же написал как обьявить
Помоги, пожалуйста, мою исправить
0
LineStown
66 / 66 / 6
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
08.12.2010, 16:36 #18
Неужели так сложно обьявление масива исаправить на обьявление указателя на масив и исправить все обращения в к масиву на обращение к указателю.
Даже в блокноте можно сделать опцией "Найти и заменить"
0
Miss Endeavour
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 16:39  [ТС] #19
Цитата Сообщение от LineStown Посмотреть сообщение
Неужели так сложно обьявление масива исаправить на обьявление указателя на масив и исправить все обращения в к масиву на обращение к указателю.
Даже в блокноте можно сделать опцией "Найти и заменить"
Если бы я могла, то вряд ли бы просила....(
0
LineStown
66 / 66 / 6
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
08.12.2010, 16:42 #20
Цитата Сообщение от Miss Endeavour Посмотреть сообщение
Если бы я могла, то вряд ли бы просила....(
Хорошо, вот 2 вопроса (по существующей программе):
1. Как происходит обьявление масива.
2. Ка происходит обращение к элементам масива
Если ответы будут правильные, то раскажу где нужно, что поменять.
0
08.12.2010, 16:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2010, 16:42
Привет! Вот еще темы с решениями:

Поиск максимального элемента дерева
Добрый день! Помогите пожалуйста реализовать поиск максимального элемента в...

Написание функции на С++ (поиск максимального элемента)
Написать функцию поиска максимального элемента, использовать ее для поиска...

Рекурсия, поиск второго максимального элемента
Не получается выполнить задание: Данная последовательность натуральных чисел...

Осуществить поиск индекса максимального элемента
Нужно найти индекс макс. эл-та. Ошибку я нашел, а вот как ее исправить - не...


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

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

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