Другие языки программирования и технологии

нужна помощь с указателями!надо написать этот програмный код,используя указатели(

#include "stdafx.h" #include <conio.h> #include <iostream> using namespace std; int main(void) {const int n=10; cout<<"Vvedite massiv, sostoyashiy iz 10 elementov?cherez probel" "\n"; int a[10], i,f, max,iS; int kMax=0;int k=0; for (i=0; i<10; i++) { cin >> a; } {max = a[0]; for (int i =1; i <= n; i++) if (a> max) max = a; //cout<<max<kMax) { kMax=k; iS=f-kMax+1; k=0;f=i; } } }a[iS]=max; for (i=iS+1; i<=n-kMax+1; i++) a=a[i+kMax-1]; cout<<"Rezultat:"<<endl;><<' '; cout<
... ... ..
... ... ..
279
Ваш код съел ответ. мыло. ру, что бы этого не происходило ставьте пробелы между символами [ ], <<, <, >. Насчет указателей, вот пример ввода данных и поиска максимального элемента в массиве. Думаю, что сможете разобраться:

#include <iostream>
using namespace std;
int main() {
const int n = 10;
cout << "enter an array of ten elements\n? ";
int a[10];
int *cur = a; // объявили указатель, одновременно присвоив ему адрес первого элемента массива
while (cur < (a + n)) { // пока указатель меньше, чем адрес элемента массива, следующего за последним
cin >> (*cur++); // значение ( *cur ) элемента массива по текущему адресу
// хранящемуся в указателе берется со стандартного ввода
// после этого увеличивается значение самого указателя ( cur++ ),
// можно сказать, что указатель сдвигается к следующему элементу массива
// или "указывает" на следующий элемент
// это можно разбить на два действия:
// cin >> *cur;
// cur++;
}
cur = a; // указателю снова присвоили адрес первого элемента в массиве
int max = *cur++; // максимальный -- это пока первый элемент (взяли значение первого: *cur; "передвинули" указатель на следующий: cur++)
// ну тут исходя уже из вышеописанного должно быть все понятно
while (cur < (a + n)) {
if (*cur > max) {
max = *cur;
}
++cur;
}
cout << max;
return 0;
}
Максим Омариев
Максим Омариев
86 231
Лучший ответ