2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
1

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

08.12.2010, 13:33. Показов 2858. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2010, 13:33
Ответы с готовыми решениями:

Нахождение максимального элемента вектора
Задание, которое я выполнял:&quot;Создать файл из N целых чисел. Найти число, повторяющееся максимальное...

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

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

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

25
Day
1177 / 987 / 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
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
08.12.2010, 14:41 3
1. А где сдесь вектор? Я только масив вижу.
2. Написанная программа абсолютно не работоспособная. Учимся писать и задавать вопросы по тому, что не получается, а не просить написать задачу.
0
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 14:48  [ТС] 4
Цитата Сообщение от LineStown Посмотреть сообщение
1. А где сдесь вектор? Я только масив вижу.
2. Написанная программа абсолютно не работоспособная. Учимся писать и задавать вопросы по тому, что не получается, а не просить написать задачу.
Вектор - это и есть массив, только одномерный.
А чем программа плоха? она выполняет поставленную задачу.
Только я понятия не имею причем тут указатели... все получается и без них
0
56 / 56 / 14
Регистрация: 02.03.2010
Сообщений: 407
08.12.2010, 14:52 5
Цитата Сообщение от Miss Endeavour Посмотреть сообщение
Вектор - это и есть массив, только одномерный.
А чем программа плоха? она выполняет поставленную задачу.
Только я понятия не имею причем тут указатели... все получается и без них
Дело в том, что у простого массива строго фиксировано кол-во элементов.
0
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 14:54  [ТС] 6
Я это понимаю, и в задании было указано, что вектор состоит из 20 элементов
0
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
08.12.2010, 14:54 7
Цитата Сообщение от Miss Endeavour Посмотреть сообщение
Вектор - это и есть массив, только одномерный.
А чем программа плоха? она выполняет поставленную задачу.
Только я понятия не имею причем тут указатели... все получается и без них
Намекну:
1.cout без namespace работать не будет
2.clrscr() - паскалевская функция, в с++ её нет.
Вывод - прога не работает.
0
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
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
08.12.2010, 15:05 9
Цитата Сообщение от Miss Endeavour Посмотреть сообщение
Намёк понят, но есть нюанс)
Программа написана на Borland C++ for DOS, и там не нужно каждый раз писать std: перед cout, да и clrscr прекрасно работает с подключенной библиотекой conio.h
"Borland C++ for DOS" морально и вообще безнадежно устарел и не соблюдает стандарт c++.
0
3096 / 2415 / 257
Регистрация: 11.03.2009
Сообщений: 5,455
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
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 15:11  [ТС] 11
Цитата Сообщение от LineStown Посмотреть сообщение
"Borland C++ for DOS" морально и вообще безнадежно устарел и не соблюдает стандарт c++.
А нас не спрашивают в универе на чем нам больше программировать нравится(
0
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
08.12.2010, 15:15 12
Вообщем указатель на масив:
обьявление
C++
1
int *a=new int[20];
доступ к элементам:
C++
1
*(a+i)
где i - номер элемента
Дальше я думаю понятно) если програ написана)
0
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
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
08.12.2010, 15:28 14
Цитата Сообщение от Miss Endeavour Посмотреть сообщение
Но этого, наверное, недостаточно... я просто не понимаю зачем здесь указатели вообще нужны)
Указатель использовать вместо масива. Выкинуть mas
0
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
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
08.12.2010, 15:43 16
Указатель тут есть. Но для полной реализации нужно ВООБЩЕ удалить масив mas[]
Я же написал как обьявить
0
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 15:59  [ТС] 17
Цитата Сообщение от LineStown Посмотреть сообщение
Указатель тут есть. Но для полной реализации нужно ВООБЩЕ удалить масив mas[]
Я же написал как обьявить
Помоги, пожалуйста, мою исправить
0
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
08.12.2010, 16:36 18
Неужели так сложно обьявление масива исаправить на обьявление указателя на масив и исправить все обращения в к масиву на обращение к указателю.
Даже в блокноте можно сделать опцией "Найти и заменить"
0
2 / 2 / 0
Регистрация: 18.11.2010
Сообщений: 32
08.12.2010, 16:39  [ТС] 19
Цитата Сообщение от LineStown Посмотреть сообщение
Неужели так сложно обьявление масива исаправить на обьявление указателя на масив и исправить все обращения в к масиву на обращение к указателю.
Даже в блокноте можно сделать опцией "Найти и заменить"
Если бы я могла, то вряд ли бы просила....(
0
72 / 71 / 8
Регистрация: 04.08.2010
Сообщений: 434
08.12.2010, 16:42 20
Цитата Сообщение от Miss Endeavour Посмотреть сообщение
Если бы я могла, то вряд ли бы просила....(
Хорошо, вот 2 вопроса (по существующей программе):
1. Как происходит обьявление масива.
2. Ка происходит обращение к элементам масива
Если ответы будут правильные, то раскажу где нужно, что поменять.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2010, 16:42
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru