Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Learn
0 / 0 / 0
Регистрация: 30.09.2012
Сообщений: 37
#1

Массивы, критика кода

23.11.2012, 01:46. Просмотров 356. Ответов 6
Метки нет (Все метки)

Дорогие друзья, такой вопрос что не так в моем коде?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdlib.h>
 using namespace std;
 
 
int main()
{
int Matrix[255][255];
cout << "Enter number: "<< endl;
int n;
cin >> n;
 
for(int i =0; i<n; i++)
{
for(int j = 0; j<n; j++){
    Matrix[i][j] = rand()%100;
    cout << Matrix[i][j]<<endl;}
 
}
system("pause");
return 0;
}
P.s: побольше критики.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 01:46
Ответы с готовыми решениями:

Нужна конструктивная критика по оформлению и читабельности кода (Game Trainer C++)
Относительно недавно начал изучать C++. Для обучения решил написать трейнер...

Небольшой шаблонный класс matrix: комментарии/критика относительно кода с точки зрения правильности написания
В плане своего общего развития написал не большой шаблонный класс matrix. Хочу...

Оптимизация кода, массивы и циклы
Занимаюсь программированием совсем немного, решил потренироватся. Написал...

Объяснить (с примерами кода) как работают ассоциативные массивы
Всем привет. В интернете не много информации про эти массивы. Можно небольшой...

Объяснить и подробно прокомментировать фрагмент кода (функции и массивы)
Изучаю C++ 2 дня. Какие задачи в институте сделал сам, какие то скопировал....

6
OhMyGodSoLong
~ Эврика! ~
1245 / 994 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
23.11.2012, 01:59 #2
Самое важное: как думаете, что будет, если ввести число, большее чем 255?

Мелочи:
  • <cstdlib> вместо <stdlib.h> (не критично, но хороший тон для Си++);
  • больше отступов же ;)
  • если уж это матрица, то выводите её квадратиком, а не верёвкой;
  • <личное> нормальная консоль или перенаправление потоков лучше непереносимого system("pause") </личное>
0
MrGluck
Модератор
Эксперт CЭксперт С++
8078 / 4930 / 1431
Регистрация: 29.11.2010
Сообщений: 13,357
23.11.2012, 02:15 #3
Мне кажется, главная ошибка тут как раз в том, что ты создаешь массив размерностью 255*255, а потом заполняешь как n*n. А если n > 255? Либо запихни размер массива в const и в циклах индексы до этого числа меняй, либо используй динамические массивы (не забудь освободить после них память).
Если добавлять по-мелочам, где srand (time (0)) ?
Почему переменная с большой буквы? Так обычно называют классы. Вообщем, рефакторинг. Ах да, код платформозависимый

<личное> нормальная ОС, типо Linux консоль или перенаправление потоков лучше непереносимого Windows system("pause") </личное>
0
ForEveR
В астрале
Эксперт С++
7995 / 4754 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
23.11.2012, 09:20 #4
MrGluck, С какого бока он платформозависимый?
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <cstdlib>
 
int main()
{
   std::cout << "Hello" << std::endl;
   system("pause");
   std::cout << "Bye" << std::endl;
}
Bash
1
2
3
4
5
forever@pterois:~/My_pro1/cpp_pro$ g++ -o new new.cpp
forever@pterois:~/My_pro1/cpp_pro$ ./new 
Hello
sh: 1: pause: not found
Bye
Ну ругнулся bash и что далее?
0
MrGluck
Модератор
Эксперт CЭксперт С++
8078 / 4930 / 1431
Регистрация: 29.11.2010
Сообщений: 13,357
23.11.2012, 19:25 #5
Цитата Сообщение от ForEveR Посмотреть сообщение
MrGluck, С какого бока он платформозависимый?
Да, громко сказано. Но ведь реализация будет отличаться. Я не увижу эникей. И терминал не будет ждать нажатия клавиши.
0
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
23.11.2012, 19:28 #6
Цитата Сообщение от Learn Посмотреть сообщение
Массивы,начало

Не по теме:

название темы звучит, как название блокбастера

0
ForEveR
В астрале
Эксперт С++
7995 / 4754 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
23.11.2012, 19:32 #7
MrGluck, В данном случае соглашусь конечно.
0
23.11.2012, 19:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2012, 19:32

Объяснить что происходит в данном фрагменте кода (вложенные циклы и массивы)
Объясните пожалуйста данный моментfor (int i = 1; i &lt;= a; i++) { if (m ==...

Проверить фрагмент кода - правильно ли производится расширение массива (динамические массивы)
Правильно ли я расширяю массив? Какие последствия могут быть? int *mas =...

Требуется конструктивная критика
Я не волшебник, только учусь. Для обучения выбрал алгоритм поиска пути A*. Вот...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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