массив

  • Автор темы o4en1 krutoi
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

o4en1 krutoi

Гость
#1
помогите понять код програмы

Код:
// присвоение массиву начальных значений
#include < iostream.h >

void main()
{
int n[10]; // объявление массива целых чисел

for (int i = 0; i <10; i++)	// када я изменяю i++ на +число например 3 или умножить то програма не работает почему
n[i] = 0;	 \\как влияет на програму эта строка 

cout << "Элемент" << '\t' << "Значение" << '\n';

// печать массива
for (i = 0; i <10; i++)  \\ што делаеют эти for вернее што каждый из них выводит как влияет на програму 
cout << i << '\t' << n[i] << '\n';
}
 
X

xxxborland89

Гость
#2
начнём с конца
Код:
for (i = 0; i <10; i++)
cout << i << '\t' << n[i] << '\n';
обрабатывает даный масив, тоисть i- щётчик, номер элимена n- значение самого элимента
выведит на экран такое
0 4
1 67
3 8
...
n = 0; \\как влияет на програму эта строка -она всем элиментам присваеваит значение "0"
for (int i = 0; i <10; i++) // када я изменяю i++ на +число например 3 или умножить то програма не работает почему-в каком смысле не работает?
 
O

o4en1 krutoi

Гость
#3
логическая ошибка на экране ничего нет

получается што верхний for это n
нижний это i да
 
X

xxxborland89

Гость
#4
теперь работать будет
Код:
#include <iostream.h>
#include <conio.h>
void main()
{
int n[10];

for (int i = 0; i <10; i++)
cout << "Элемент" << '\t' << "Значение" << '\n';



for (int i = 0; i <10; i++)
cout << i << '\t' << n[i] << '\n';
getch();
}
ошибка была во втором цыкле ты не объявил переменную "i"
 
G

gamecreator

Гость
#5
второй раз не надо ее объявлять потому что при объявлении в шапке цикла переменная объявляется вне цикла
 
P

Pasha

Гость
#6
Для: gamecreator
Зависит от компилятора. По стандарту - переменная объявляется в теле цикла.
 
P

Pasha

Гость
#8
Для: gamecreator
VC 6.0 уже почти 10 лет. После 6.0 вышли уже четыре версии студии, и в их компиляторах - уже да.
 
X

xxxborland89

Гость
#9
господи, объяви переменую до функцыи main тогда 100% в ціклах её обїявлять не надо B) B)
 
04.09.2006
2 566
2
#11
<!--QuoteBegin-xxxborland89+25:11:2007, 21:35 -->
<span class="vbquote">(xxxborland89 @ 25:11:2007, 21:35 )</span><!--QuoteEBegin-->господи, объяви переменую до функцыи main тогда 100% в ціклах её обїявлять не надо
[snapback]87276" rel="nofollow" target="_blank[/snapback]​
[/quote]
Типичный совет как делать не нужно
 
O

o4en1 krutoi

Гость
#13
спс за ответ подскажите
Написать программу меняющую порядок следования элементов массива на противоположный (то есть первый элемент становится последним, а последний - первым; второй элемент становится предпоследним, а предпоследний - вторым и так далее) и выводящую результирующий массив на экран. Элементы массива вводятся пользователем с клавиатуры.
как написать эту програму немогу найти нужный алгоритм как поменять местами
 
P

Pasha

Гость
#14
Для: o4en1 krutoi
Код:
#include <algorithm>

void main()
{
using namespace std;

const int size = 10;
int mass[size];

// тут заполняешь mass

reverse(mass, mass+size);

// тут выводишь mass
}
 
O

o4en1 krutoi

Гость
#15
reverse(mass, mass+size);
объясни што тако reverse
што происходит в скобках
и для чего нужна эта строка
 
P

Pasha

Гость
#16
Для: o4en1 krutoi
<!--QuoteBegin-MSDN+-->
<span class="vbquote">(MSDN)</span><!--QuoteEBegin-->Standard C++ Library Reference, reverse
Reverses the order of the elements within a range.
Код:
template<class BidirectionalIterator>
void reverse(
BidirectionalIterator _First, 
BidirectionalIterator _Last
);
Parameters
_First
A bidirectional iterator pointing to the position of the first element in the range within which the elements are being permuted.

_Last
A bidirectional iterator pointing to the position one past the final element in the range within which the elements are being permuted.[/quote]
В переводе на русский примерно так: reverse меняет порядок следования элементов на противоположный. Первый параметр - итератор, указывающий на первый элемент, второй параметр - итератор, указывающий на элемент следующий после последнего.
 
Статус
Закрыто для дальнейших ответов.