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

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

Восстановить пароль Регистрация
 
Learn
0 / 0 / 0
Регистрация: 30.09.2012
Сообщений: 34
23.11.2012, 01:46     Массивы, критика кода #1
Дорогие друзья, такой вопрос что не так в моем коде?
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: побольше критики.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
23.11.2012, 01:59     Массивы, критика кода #2
Самое важное: как думаете, что будет, если ввести число, большее чем 255?

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

<личное> нормальная ОС, типо Linux консоль или перенаправление потоков лучше непереносимого Windows system("pause") </личное>
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,410
23.11.2012, 19:25     Массивы, критика кода #5
Цитата Сообщение от ForEveR Посмотреть сообщение
MrGluck, С какого бока он платформозависимый?
Да, громко сказано. Но ведь реализация будет отличаться. Я не увижу эникей. И терминал не будет ждать нажатия клавиши.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
23.11.2012, 19:28     Массивы, критика кода #6
Цитата Сообщение от Learn Посмотреть сообщение
Массивы,начало

Не по теме:

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

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

C++ Объяснить что происходит в данном фрагменте кода (вложенные циклы и массивы)
Объяснить и подробно прокомментировать фрагмент кода (функции и массивы) C++
Требуется конструктивная критика C++

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

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

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