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

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

Войти
Регистрация
Восстановить пароль
 
Learn
0 / 0 / 0
Регистрация: 30.09.2012
Сообщений: 34
#1

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

23.11.2012, 01:46. Просмотров 309. Ответов 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: побольше критики.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 01:46     Массивы, критика кода
Посмотрите здесь:

Оптимизация кода, массивы и циклы C++
Собственная реализация стека. Критика C++
C++ Поиск популярного триплета. Конструктивная критика
Пишем рогалик: пояснения по коду и его критика C++
Потокобезопасная очередь: критика реализации C++
Однонаправленный список: критика C++
C++ Объяснить что происходит в данном фрагменте кода (вложенные циклы и массивы)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1240 / 989 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
23.11.2012, 01:59     Массивы, критика кода #2
Самое важное: как думаете, что будет, если ввести число, большее чем 255?

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

<личное> нормальная ОС, типо Linux консоль или перенаправление потоков лучше непереносимого Windows system("pause") </личное>
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 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 и что далее?
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6221 / 3466 / 424
Регистрация: 29.11.2010
Сообщений: 9,177
23.11.2012, 19:25     Массивы, критика кода #5
Цитата Сообщение от ForEveR Посмотреть сообщение
MrGluck, С какого бока он платформозависимый?
Да, громко сказано. Но ведь реализация будет отличаться. Я не увижу эникей. И терминал не будет ждать нажатия клавиши.
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
23.11.2012, 19:28     Массивы, критика кода #6
Цитата Сообщение от Learn Посмотреть сообщение
Массивы,начало

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2012, 19:32     Массивы, критика кода
Еще ссылки по теме:

Объяснить и подробно прокомментировать фрагмент кода (функции и массивы) C++
Требуется конструктивная критика C++
Нужна конструктивная критика по оформлению и читабельности кода (Game Trainer C++) C++
Проверить фрагмент кода - правильно ли производится расширение массива (динамические массивы) C++
Объяснить (с примерами кода) как работают ассоциативные массивы C++

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
23.11.2012, 19:32     Массивы, критика кода #7
MrGluck, В данном случае соглашусь конечно.
Yandex
Объявления
23.11.2012, 19:32     Массивы, критика кода
Ответ Создать тему
Опции темы

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