На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> Глюк с массивами вообще
    Вчера сидел пытался кой-что с массивом провернуть. Нифига не работает. Даже простой вывод массива идет некорректно. Если не трудно, плз киньте исходник (задать массив с клавы и вывести его)
      Ну что-то в этом роде,
      CODE

      int g_Array[16];

      int main()
      {
      int i;

       for (i=0; i<(sizeof(g_Array)/sizeof(g_Array[0])); i++)
       {
         scanf("%d", &g_Array[i]);
       }
       for (i=0; i<(sizeof(g_Array)/sizeof(g_Array[0])); i++)
       {
         printf("Array element#%d == %d", i, &g_Array[i]);
       }
      }

      ЗЫ:
      [offtopic]
      неужели это сложно для Senior Member'a?? Чувствую многие товарищи тут в разделе получили свой уровень в "много шуму" biggrin.gif
      [/offtopic]
      Сообщение отредактировано: HOMO_PROGRAMMATIS -
        CODE
        #include <iostream>
        #include <CONIO.H>
        int main(void)
        {
        int SIZE=0;
        std::cout<<"Enter the Size\n";
        std::cin>>SIZE;
        int *Array=new int[SIZE];
        for(int i=0;i!=SIZE;i++)
        std::cin>>Array[i];
        std::cout<<"Your array:\n";
        for(i=0;i!=SIZE;i++)
        std::cout<<Array[i]<<"\n";
        std::cout<<"Press any key to exit.\n";
        getch();
        delete []Array;
        return 0;
        }

        Ну это даже динамический массив создаст! cool.gif
          Или так:
          CODE

          #include <iostream>
          #include <vector>
          #include <algorithm>

          std::vector<int> GetArray(int size)
          {
          std::vector<int> arr(size);

          std::cout << "Enter array:" << std::endl;
          for (int n = 0; n < 5; n ++)
           cin >> arr[n];

          std::cout << "Your array: " << std::endl;
          std::copy(arr.begin(), arr.end(), std::ostream_iterator<int>(cout, " "));
          std::cout << std::endl;

          return arr;
          }
            Не... ну уж если в ход пошли шаблоны, то можно было-бы привести пример ввода-вывода неограниченного массива ?!?
              Можно и неограниченный:
              CODE

              template<class T> GetArray(std::istream& in, std::vector<T>& arr)
              {
              std::copy(istream_iterator<T>(in), istream_iterator<T>(), std::back_inserter(arr));
              std::cout << "Your array: " << std::endl;
              std::copy(arr.begin(), arr.end(), std::ostream_iterator<T>(cout, " "));
              std::cout << std::endl;
              }
              Сообщение отредактировано: Flex_Ferrum -
                Можно дальше развить эту тему и предложить такой вариант:
                CODE

                template<class T> GetArray(std::istream& in, T& arr)
                {
                std::copy(istream_iterator<T::value_type>(in), istream_iterator<T::value_type>(), std::inserter(arr, arr.end()));
                std::cout << "Your array: " << std::endl;
                std::copy(arr.begin(), arr.end(), std::ostream_iterator<T::value_type>(cout, " "));
                std::cout << std::endl;
                }

                Тогда данные можно вводить в любой sequence-контейнер, а также std::set и std::multiset
                Сообщение отредактировано: Flex_Ferrum -
                  Всем. пасиба. Я разобрался
                  1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0485 ]   [ 15 queries used ]   [ Generated: 8.07.25, 00:16 GMT ]