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

Вопрос по массивам С++ - C++

Восстановить пароль Регистрация
 
 
magistr011
 Аватар для magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
23.10.2011, 10:45     Вопрос по массивам С++ #1
Вот код:

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
#include <iostream>
#include <iomanip>
using namespace std;
 
int main ()
{
int a[10][10];
    for(int i=0; i<=10; i++)  // почему этого цикла для вывода не достаточно???
            {
                                              // cout << endl; почему так нельзя сразу????? 
                 for(int j=0; j<=10; j++)
                         {
                              a[i][j]=rand()%100;
                                                                                 // cout << setw (2) << n << " "; и это тоже...
                      }
                   }
    for(int i=0; i<=10; i++)  // повтор цыкла здесь...
            {
                 cout << endl;       
                 for(int j=0; j<=10; j++)
                         {
                              int n=a[i][j];
                              cout << setw (2) << n << " "; 
                             }
                    }
system ("pause >> void");
}
Я пробовал вывести на консоль массив, получилось только после того как я повторил пару циклов for().

1) Объясните мне зачем второй раз делать пару циклов for??? Почему нельзя сразу после объявления и инициализации переменной (массива), вывести его на консоль...

2) И как сделать так, чтобы вывести цикл ещё раз??? Просто непонимаю, почему рандом не работает, при каждом запуске программы, одни и те же числа в массиве ((((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2011, 10:45     Вопрос по массивам С++
Посмотрите здесь:

C++ вопрос по массивам
По массивам... C++
C++ Небольшой вопрос по массивам
C++ Вопрос по массивам
C++ Вопрос по одномерным массивам.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
magistr011
 Аватар для magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
26.10.2011, 16:32  [ТС]     Вопрос по массивам С++ #21
Цитата Сообщение от TheAthlete Посмотреть сообщение
Во-вторых, мой пример программы:
спасибо за пример, скажи, а зачем строчка:
C++
1
using std::endl;
код рабочий, но массив выводит немного неровно...
вот мой код, посмотри
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <iomanip>
using namespace std;
 
int main ()
{
int a[10][10];
    for(int i=0; i<10; i++)
            {
                 cout << endl;
                 for(int j=0; j<10; j++)
                         {
                              a[i][j]=rand()%100;
                              int n=a[i][j];
                              cout << setw (2) << n << " ";                           
                         }
                 cout << endl;   
            }
system ("pause >> void");
}
индексация начинается с нуля, т.е. в данном цикле будет переполнение массива (выход за пределы массива).
спасибо за поправку, действительно выход за массив)))

Просьба писать понятно, нормальным человеческим языком без ошибок.
Прошу прощения, я что-то когда писал, незаметил...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2011, 17:13     Вопрос по массивам С++
Еще ссылки по теме:

Вопрос по Массивам. C++
C++ Вопрос по символьным массивам
C++ по массивам

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

Или воспользуйтесь поиском по форуму:
TheAthlete
 Аватар для TheAthlete
151 / 151 / 12
Регистрация: 31.08.2010
Сообщений: 529
26.10.2011, 17:13     Вопрос по массивам С++ #22
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
using std::cout;
using std::endl;
using std::setw;
 
int main ()
{
  srand(time(0));
  size_t i, j;
  int a[10][10];
 
  for(i = 0; i != 10; ++i)
    for(j = 0; j != 10; ++j)
      a[i][j] = rand() % 100;
 
  for(i = 0; i != 10; ++i) {
    for(j = 0; j != 10; ++j) {
      cout << setw(2) << a[i][j] << " "; 
    }
    cout << endl;
  }
  return 0;
}
> спасибо за пример, скажи, а зачем строчка:
> using std::endl;

это один из способов использования членов пространства имен. Их существует несколько:
C++
1
2
3
std::endl; // указываем напрямую, в коде
using std::endl; // объявление using (напоминание)
using namespace std; // директива using
Объявления using предоставляют только один элемент пространсва имен за раз. Это позволяет вполне однозначно указать имена, используемые в программе.

Имена, представленные в объявлении using, подчиняются обычным правилам области видимости. Имя видимо от точки объявления using и до конца области видимости, в которой оно объявлено. Объекты внешней области видимости скрывают одноименные объекты внутренной области.

Подобно объявлению using, директива using (using directive) позволяет использовать сокращенную форму имени пространства имен. Однако, в отличие от объявления using, здесь не сохраняется контроль над видимостью имен, поскольку все они видимы.
Yandex
Объявления
26.10.2011, 17:13     Вопрос по массивам С++
Ответ Создать тему
Опции темы

Текущее время: 03:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru