массив

Тема в разделе "MS Visual C++", создана пользователем o4en1 krutoi, 24 ноя 2007.

Статус темы:
Закрыта.
  1. o4en1 krutoi

    o4en1 krutoi Гость

    помогите понять код програмы

    Код (Text):
    // присвоение массиву начальных значений
    #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';
    }
     
  2. xxxborland89

    xxxborland89 Гость

    начнём с конца
    Код (Text):
    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 или умножить то програма не работает почему-в каком смысле не работает?
     
  3. o4en1 krutoi

    o4en1 krutoi Гость

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

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

    xxxborland89 Гость

    теперь работать будет
    Код (Text):
     
    #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"
     
  5. gamecreator

    gamecreator Гость

    второй раз не надо ее объявлять потому что при объявлении в шапке цикла переменная объявляется вне цикла
     
  6. Pasha

    Pasha Гость

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

    gamecreator Гость

    ну в моем компиляторе нет. VC++ 6.0
     
  8. Pasha

    Pasha Гость

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

    xxxborland89 Гость

    господи, объяви переменую до функцыи main тогда 100% в ціклах её обїявлять не надо B) B)
     
  10. gamecreator

    gamecreator Гость

    ну уж какой есть B)
     
  11. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--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]
    Типичный совет как делать не нужно
     
  12. gamecreator

    gamecreator Гость

    лучше уж перед циклом обьявить
     
  13. o4en1 krutoi

    o4en1 krutoi Гость

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

    Pasha Гость

    Для: o4en1 krutoi
    Код (Text):
    #include <algorithm>

    void main()
    {
    using namespace std;

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

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

    reverse(mass, mass+size);

    // тут выводишь mass
    }
     
  15. o4en1 krutoi

    o4en1 krutoi Гость

    reverse(mass, mass+size);
    объясни што тако reverse
    што происходит в скобках
    и для чего нужна эта строка
     
  16. Pasha

    Pasha Гость

    Для: o4en1 krutoi
    <!--QuoteBegin-MSDN+-->
    <span class="vbquote">(MSDN)</span><!--QuoteEBegin-->Standard C++ Library Reference, reverse
    Reverses the order of the elements within a range.
    Код (Text):
    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 меняет порядок следования элементов на противоположный. Первый параметр - итератор, указывающий на первый элемент, второй параметр - итератор, указывающий на элемент следующий после последнего.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей