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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
#1

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

23.10.2011, 10:45. Просмотров 989. Ответов 21
Метки нет (Все метки)

Вот код:

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) И как сделать так, чтобы вывести цикл ещё раз??? Просто непонимаю, почему рандом не работает, при каждом запуске программы, одни и те же числа в массиве ((((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2011, 10:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос по массивам С++ (C++):

Вопрос по Массивам. - C++
Всем Гуру и знатокам C++ Привет. Я хочу изучать язык С++, но он мне очень трудно потдаётся). Помогите пож-та: Я не могу составить...

Вопрос по массивам - C++
Как в массиве сделать так: Если элемент повторяется дважды - удалить один из них например: 1 2 2 3 4 5 5 6 7 8 8 9 Вывод 1 2 3...

Вопрос по символьным массивам - C++
Задание: с клавиатуры в символьный одномерный массив вводится название типа. С помощью оператора switch нужно вывести sizeof(тип). ...

Вопрос по одномерным массивам. - C++
Всем доброго времени суток. 1. Написал код но при запуске выкидывает ошибку и условия не считает. В одномерном массиве формируемом...

Небольшой вопрос по массивам - C++
В общем столкнулся с одной проблемой. Ведь в массивах все элементы начинаются с 0, то когда я пишу какую-нить прогу для решения какой-либо...

по массивам - C++
Для одномерного массива, состоящего из n вещественных чисел: а) найти минимальный по модулю элемент массива; б) вычислить сумму...

21
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
25.10.2011, 20:37 #16
Цитата Сообщение от silent_1991 Посмотреть сообщение
Это и не мои слова, так что зря вы меня процитировали.
в смысле я имел в виду что мне самому так говорили(не вы)
0
Сыроежка
Заблокирован
25.10.2011, 20:39 #17
Цитата Сообщение от Van111 Посмотреть сообщение
в смысле я имел в виду что мне самому так говорили(не вы)
Надо не по слухам осваивать язык программирования, а по его стандарту!
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
26.10.2011, 13:57 #18
Цитата Сообщение от Сыроежка Посмотреть сообщение
Надо не по слухам осваивать язык программирования, а по его стандарту
ну тогда то что вы мне сказали тоже слух.
0
magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
26.10.2011, 15:15  [ТС] #19
Ребята, хорош флудить...
Ответ дан, спасибо всем)))
Я попробовал:
1) если до цикла объявить переменную, то можно её использовать всегда...
2) если внутри цикла объявить переменную, то вне цикла её просто нет...
0
TheAthlete
153 / 153 / 13
Регистрация: 31.08.2010
Сообщений: 535
26.10.2011, 15:40 #20
Цитата Сообщение от magistr011 Посмотреть сообщение
Скажите, а не каких-то правил в С++ если объявил переменную, я ведь могу с неё что хочу сразу после объявления делать, правильно??? Просто я по описанию ошибки непонял ничего, кроме того, что что-то с переменными не так (((
Просьба писать понятно, нормальным человеческим языком без ошибок.

a[10][10]
for(int i=0; i<=10; i++)

индексация начинается с нуля, т.е. в данном цикле будет переполнение массива (выход за пределы массива).

Во-вторых, мой пример программы:

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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using std::cout;
using std::endl;
 
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 << a[i][j] << " "; 
    }
    cout << endl;
  }
  return 0;
}
0
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");
}
индексация начинается с нуля, т.е. в данном цикле будет переполнение массива (выход за пределы массива).
спасибо за поправку, действительно выход за массив)))

Просьба писать понятно, нормальным человеческим языком без ошибок.
Прошу прощения, я что-то когда писал, незаметил...
0
TheAthlete
153 / 153 / 13
Регистрация: 31.08.2010
Сообщений: 535
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, здесь не сохраняется контроль над видимостью имен, поскольку все они видимы.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2011, 17:13
Привет! Вот еще темы с ответами:

По массивам... - C++
Задан случайный массив. Нужно получить без повторений элементы, встречающиеся в массиве более одного раза. Вот что получилось: ...

По массивам.... - C++
Добрый вечер:).На носу итоговая сессия, к сожалению для допуска на нее не могу справится с заданием который дал мне преподаватель (по...

Вопросы по массивам - C++
Напишу сюда. Не стал создавать тему. Если что не так извините. #include &lt;iostreame&gt; using namespace std; int main () { double...

Подскажите по массивам - C++
Всем привет! Пишу игру для платформы Bada=) Суть проблемы: есть 2 класса. Из 1-ого класса вызываю функцию 2-ого. Перед этим во 2-классе...


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

Или воспользуйтесь поиском по форуму:
22
Yandex
Объявления
26.10.2011, 17:13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru