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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
danik
0 / 0 / 0
Регистрация: 30.03.2009
Сообщений: 24
#1

Вычислить номер максимального элемента - C++

04.05.2009, 12:06. Просмотров 1034. Ответов 6
Метки нет (Все метки)

В одномерном массиве, состоящем из n целых эелементов вычислить :
1) номер максимального элемента
2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2009, 12:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить номер максимального элемента (C++):

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

Вычислить номер максимального элемента массива - C++
День добрый. Уже несколько дней ломаю голову с одной задачей, но всё безрезультатно :( Прошу помочь. Задача: В одномерном массиве,...

Вычислить номер максимального элемента массива - C++
5)В одномерном массиве, состоящем из n целых элементов, вычислить номер максимального элемента массива. Преобразовать массив таким образом,...

Вычислить номер максимального элемента массива - C++
В одномерном массиве, состоящем из п целых элементов, вычислить: 1) номер максимального элемента массива;

Вычислить номер максимального по модулю элемента массива - C++
Задача: Ввести и обработать два одномерных массива, содержащие соответственно n и m целых компонентов. Вычислить: 1) номер...

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

6
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.05.2009, 12:20 #2
Цитата Сообщение от danik Посмотреть сообщение
В одномерном массиве, состоящем из n целых эелементов вычислить :
1) номер максимального элемента
Вот функция нахождения номера максимального элемента:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int Max(const int* arr, int size)
{
  int max       = - std::numeric_limits<int>::max();
  int max_index = 0                                ;
 
  for(int i = 0; i < size; ++i)
    if(arr[i] > max){
      max       = arr[i];
      max_index = i     ;
    }
 
  return max_index;
}
Вторую задачу напишу чуть познее.
0
danik
0 / 0 / 0
Регистрация: 30.03.2009
Сообщений: 24
04.05.2009, 12:26  [ТС] #3
спасибо, но это для меня сложновато немного. Я на паскале эту же задачу сделал так:

Pascal
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
39
40
41
42
43
44
uses crt;
var
N: Integer;
A: array[1..9] of integer;
I, I1, I2, M: Integer;
s,nm:integer;
 
begin
clrscr;
   write('vvedite N =  ');
   readln(n);
   write('vvedite elementi matrici A');
   writeln;
      for i:= 1 to N do
      begin
      write('A[',i,']=');
      readln(a[i]);
   end;
   for i:= 1 to n do
   begin
write(a[i]:4); end;  writeln;
 
 
M:=1;
   for I := 1 to N do
   if A[i] > M then begin
        M := A[i];
        end;
   WriteLn('Max: ',M);
   writeln;
i1:=0;
    for i:= 1 to n do
    if a[i]=i1 then i1:=i;
 
i2:=0;
    for i:= i1+1 to n do
    if a[i]=i2 then i2:=i;
 
s:=1;
    for  i:= i1+1 to i2-1 do
    s := S * a[i];
    {nm:=nm+s};
    WriteLn('Proizvedenie = ', s);
end.
На с++ не могу переделать
0
NickA
35 / 34 / 2
Регистрация: 28.04.2009
Сообщений: 67
04.05.2009, 13:10 #4
Вот код Pascal -> C++, просто перевод, без проверки логики.
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
39
40
41
#include <iostream.h>
#include <conio.h> // библиотека содержит getch()
 
void main(){ // начало программы
int n;
cout<<"vvedite N = "; // cout<< вывод
cin>>n; // cin>> ввод
cout<<endl<<"vvedite elementi matrici A"; // endl переводит на новую строку
int a[9]; // статическое выделение, как в pascal 9 элементов 0..8
//int *a=new int[n]; // динамическое выделение массива от 0 до n-1, в С++ все массивы с 0
for(int i=0;i<n;i++){
  cout<<endl<<"A["<<i<<"]=";
  cin>>a[i];
};
for(int i=0;i<n;i++)
  cout<<a[i]<<" ";
cout<<endl;
 
int m=0;
for(int i=0;i<n;i++)
  if(a[i]>m)
    m=a[i];
cout<<"Max:"<<m<<endl;
 
int i1=0;
for(int i=0;i<n;i++)
  if(a[i]==i1)
    i1=i;
 
int i2=0;
for(int i=i1+1;i<n;i++)
  if(a[i]==i2)
    i2=i;
 
int s=1;
for(int i=i1+1;i<i2;i++)
  s*=a[i]; // s=s*a[i];
cout<<"Proizvedenie = "<<s;
 
getch(); // from <conio.h> ожидаем нажатия клавиши
};
0
mamedovvms
2917 / 838 / 93
Регистрация: 30.04.2009
Сообщений: 2,627
04.05.2009, 13:26 #5
не знаю может я и ошибаюсь но я думаю что в начале надо М=а[1]; так как если мы сделаем M=1 то если у нас массиве все элементы будут отрицательные то работать программа не будет
0
NickA
35 / 34 / 2
Регистрация: 28.04.2009
Сообщений: 67
04.05.2009, 13:30 #6
В программе на pascal
Delphi
1
{25} M:=a[1];
или на C++
C++
1
/*19*/m=a[0];
0
mamedovvms
2917 / 838 / 93
Регистрация: 30.04.2009
Сообщений: 2,627
04.05.2009, 13:40 #7
NickA,
да я это и имел ввиду , просто я не смотрел код на си
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2009, 13:40
Привет! Вот еще темы с ответами:

Вычислить номер максимального по модулю элемента массива - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить номер максимального по модулю элемента маccива #include &lt;iostream&gt;...

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

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

Вычислить номер максимального по модулю элемента матрицы - C++
Люди, помогите, пожалуйста, решить такую задачу: Дан произвольный двумерный массив m*n. Нужно вычислить: 1. Номер максимального по...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
04.05.2009, 13:40
Ответ Создать тему
Опции темы

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