Diskriptor
|
|
« Ответ #120 : 12-01-2008 11:24 » |
|
LogRus, Все в порядки уже поныл все, я изменил цикл как ты мне показал, при линковки выдает следующие ошибки
-Configuration: Domashniya of robota ¹ Øåñòü îäèí - Win32 Debug-------------------- Linking... Domashniya of robota ¹ Øåñòü äâà.obj : error LNK2005: _main already defined in Domashniya of robota ¹ Øåñòü îäèí.obj Debug/Domashniya of robota ¹ Øåñòü îäèí.exe : fatal error LNK1169: one or more multiply defined symbols found Error executing link.exe.
Domashniya of robota ¹ Øåñòü îäèí.exe - 2 error(s), 0 warning(s)
P.S. и кроме того чем проще тем лучше потому что если я так напишу то препод опять скажет что за меня домашку кто-то заделал или в www нашел, но все равно спасибо.
|
|
« Последнее редактирование: 12-01-2008 11:29 от Diskriptor »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #121 : 12-01-2008 11:39 » |
|
McZim, Спасибо за ссылку, интересная
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #122 : 12-01-2008 12:01 » |
|
Не досмотрел ошибку понел
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #123 : 12-01-2008 12:12 » |
|
Проинициализировал как надо( на мой взгляд) не работает или еще гдето просмотрел или не так #include "iostream.h"
int main() {
int Maciv[5],i,max,j=0,min=0;
for(i=0;i<5;i++) { cout<<"Vedite macciv iz 5 ilimentov ["<<i<<"]: "; cin>>Maciv[i]; }
for(i=0;i<5;i++) if(Maciv[i]>max) max=Maciv[i]; cout<<"max= "<<max; cout<<"\n";
min=Maciv[0]; max=Maciv[0];
for(j=0;j<5;j++) if(Maciv[j]<min) min=Maciv[j];
cout<<"min= "<<min; cout<<"\n"; char response; cin>>response;
return 0; }
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Люсь
|
|
« Ответ #124 : 12-01-2008 12:25 » |
|
проинициализировал неправильно. почему при входе в цикл на проверку минимума у тебя min инициализирован, а при входе выше в цикл на проверку максимума max не инициализирован? на фига ты его инициализируешь уже после проверки?
|
|
|
Записан
|
Посторонним просьба не беспокоить! ------------------------------------------------- O (I) Rh +
|
|
|
Люсь
|
|
« Ответ #125 : 12-01-2008 12:30 » |
|
* между прочим, у тебя массив состоит не из 5, а из 6 элементов - с 0 по 5. * почему в объявлении переменных ты половину переменных инициализируешь, а половину нет? я вообще не вижу смысла в инициализации переменных в этой строке, так как ниже ты всё равно их инициализируешь заново.
|
|
« Последнее редактирование: 12-01-2008 14:03 от Люсь »
|
Записан
|
Посторонним просьба не беспокоить! ------------------------------------------------- O (I) Rh +
|
|
|
McZim
|
|
« Ответ #126 : 12-01-2008 12:37 » |
|
и действительно получается что max не проинициализирован и там значит лежит какашка. Заходим в цикл и проверяем если итый элемент массива больше какашки, то в переменную max ложим значение итого элемента массива
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Sla
|
|
« Ответ #127 : 12-01-2008 14:12 » |
|
вот как раз i не нужно было инициализировать; #include "iostream.h"
int main() { int Maciv[5],i,max,j,min; cout<<"Vedite macciv iz 5 ilimentov "; for(i=0;i<5;i++) { cout<<"Vedite ["<<i<<"] element: "; cin>>Maciv[i]; }
max=Maciv[4]; //а какая разница чему он равен, с таким же успехом єто мог бы быть и 0 элемент
for(i=0;i<5;i++) if(Maciv[i]>max) max=Maciv[i]; cout<<"max= "<<max; cout<<"\n";
min=Maciv[0]; //Что интересно, здесь Дискриптор сделал это сам и здесь же был проинициализирован max
for(j=0;j<5;j++) if(Maciv[j]<min) min=Maciv[j];
cout<<"min= "<<min; cout<<"\n";
char response; //Вот не понимаю такого подхода, когда переменная появляется где-то в середине кода, видимо паскалевская школа. cin>>response;
return 0; }
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Люсь
|
|
« Ответ #128 : 12-01-2008 14:23 » |
|
- вот именно, i и j инициализируются, когда создаётся цикл : for i=0 (или это не инициализация?) - и вообще, можно было не вводить переменную j, а обойти второй раз цикл с переменной i же. - и вообще, можно было и не заводить второго цикла, а максимум и минимум найти в одном цикле. а так - двойная работа.
|
|
|
Записан
|
Посторонним просьба не беспокоить! ------------------------------------------------- O (I) Rh +
|
|
|
Sla
|
|
« Ответ #129 : 12-01-2008 14:27 » |
|
- и вообще, можно было и не заводить второго цикла, а максимум и минимум найти в одном цикле. а так двойная работа.
это должен был сказать я, но потом подумал!, я даже написал, потом удалилна этапе обучения нельзя лепить одно к другому. У человека не стоит задача оптимизации программы.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Люсь
|
|
« Ответ #130 : 12-01-2008 14:28 » |
|
)) не знаю, я когда училась - мне лень было одно и то же писать, пыталась как-то покороче программки сделать
|
|
|
Записан
|
Посторонним просьба не беспокоить! ------------------------------------------------- O (I) Rh +
|
|
|
Diskriptor
|
|
« Ответ #131 : 12-01-2008 16:18 » |
|
Блин не тот код показал, спросонья. Вот код он правленый на мой взгляд #include "iostream.h"
int main() {
int Maciv[5],i,max,j,min;
for(i=0;i<5;i++) { cout<<"Vedite macciv iz 5 ilimentov ["<<i<<"]: "; cin>>Maciv[i]; }
for(i=0;i<5;i++) if(Maciv[i]>max) max=Maciv[i]; cout<<"max= "<<max; cout<<"\n";
max=Maciv[0]; min=Maciv[0];
for(j=0;j<5;j++) if(Maciv[j]<min) min=Maciv[j];
cout<<"min= "<<min; cout<<"\n"; char response; cin>>response;
return 0; }
|
|
« Последнее редактирование: 12-01-2008 16:28 от Diskriptor »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Sla
|
|
« Ответ #132 : 12-01-2008 16:46 » |
|
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Вад
|
|
« Ответ #133 : 12-01-2008 21:35 » |
|
Что-то у меня уже дежавю. Про инициализацию max ещё с 86го поста в этой теме речь идёт %)
|
|
|
Записан
|
|
|
|
Diskriptor
|
|
« Ответ #134 : 12-01-2008 22:13 » |
|
Я обязательно разберусь, я благодарен за терпение проявленное ко мне, я сразу понял в чем ошибка, надо сначала заполнит массива а потом из него произвести инициализацию max чтобы там не згенерился мусор, просто у меня еще домашки и сложные последние 2 недели прошли, но Я обязательно РАЗБЕРУС.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Sla
|
|
« Ответ #135 : 12-01-2008 22:27 » |
|
Diskriptor, Зачем инициализировать max и min, надеемся, что ты понял. Но! Чтоб тебя окончательно запутать Каким значением нужно или можно инициализировать max и min, при условии что элементы массива имеют тип int?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
McZim
|
|
« Ответ #136 : 13-01-2008 08:27 » |
|
Вот код он правленый на мой взгляд
нет он не правильны!
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Вад
|
|
« Ответ #137 : 13-01-2008 08:53 » |
|
Diskriptor, я тоже надеюсь, что ты всё понял и разберёшься, я только не понял, зачем ты несколько раз уже выкладывал, по сути, одно и то же не совсем правильное решение, уже после очередной порции объяснений, в чём ты не прав
|
|
|
Записан
|
|
|
|
Scorp__)
Молодой специалист
Offline
Пол:
|
|
« Ответ #138 : 13-01-2008 09:45 » |
|
Sla, а тип int здесь причем? Только потому что он сравнивается легко? Можно я все-таки наспойлерю? В этом алгоритме что min, что max инициализируется нулевым элементом массива, сразу после того как массив заполняется значениями. Вот имеет смысл спросить почему так нужно инициализировать?
|
|
|
Записан
|
- А Вы сами-то верите в привидения? - Конечно, нет, - ответил лектор и медленно растаял в воздухе.
|
|
|
McZim
|
|
« Ответ #139 : 13-01-2008 09:48 » |
|
Scorp__), а вы считаете каким нужно элементом инициализировать?
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Scorp__)
Молодой специалист
Offline
Пол:
|
|
« Ответ #140 : 13-01-2008 10:22 » |
|
McZim, Я же написал, что нулевым, если мы конечно пробегаем его с нулевого элемента, а не с последнего. Вот: В этом алгоритме что min, что max инициализируется нулевым элементом массива, сразу после того как массив заполняется значениями.
Аааа, может быть предложение о том, что надо спросить почему это так, тебя так смутило и ты решил, что я не согласен с этим утверждением. Я-то имел в виду, что надо спросить это у Дискриптора, чтобы убедиться, что он понял в чем тут дело.
|
|
|
Записан
|
- А Вы сами-то верите в привидения? - Конечно, нет, - ответил лектор и медленно растаял в воздухе.
|
|
|
Sla
|
|
« Ответ #141 : 13-01-2008 10:25 » |
|
а какая разница каким элементом массива инициализировать?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Scorp__)
Молодой специалист
Offline
Пол:
|
|
« Ответ #142 : 13-01-2008 10:32 » |
|
Sla, вообще да, в принципе без разницы
|
|
|
Записан
|
- А Вы сами-то верите в привидения? - Конечно, нет, - ответил лектор и медленно растаял в воздухе.
|
|
|
McZim
|
|
« Ответ #143 : 13-01-2008 10:46 » |
|
Sla, может для Дескриптора так будет понятнее, тогда есть разница.
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #144 : 14-01-2008 08:11 » |
|
Вопрос: "домашку" зачем замочил? Или тема не интересная была?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Diskriptor
|
|
« Ответ #145 : 14-01-2008 10:51 » |
|
RXL, Тема интересная и старался, понял когда надо инициолизироват массив и почему Вот код #include "iostream.h"
int main() {
int Maciv[5],i,max,j,min=0;
for(i=0;i<5;i++) { cout<<"Vedite macciv iz 5 ilimentov ["<<i<<"]: "; cin>>Maciv[i];
max=Maciv[0]; min=Maciv[0]; }
for(i=0;i<5;i++) if(Maciv[i]>max) max=Maciv[i]; cout<<"max= "<<max; cout<<"\n";
for(j=0;j<5;j++) if(Maciv[j]<min) min=Maciv[j];
cout<<"min= "<<min; cout<<"\n"; char response; cin>>response;
return 0; }
Сейчас должен бежать когда приду расскажу почему у меня не получалось и что я не панель и отвечу на вопрос Sla про массивы И преступлю к написании игры кости
|
|
« Последнее редактирование: 14-01-2008 10:54 от Diskriptor »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
McZim
|
|
« Ответ #146 : 14-01-2008 10:56 » |
|
Diskriptor, вот это min=0 ты зачем делаешь?
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Люсь
|
|
« Ответ #147 : 14-01-2008 11:58 » |
|
Ага, он всё понял. Проинициализировал теперь max и min элементами из введённого массива, и ничё не скажешь, - до проверки цикла. Но на фига аж в 5-кратном размере? )) Короче, я так вижу, без толку объяснять на конкретном языке программирования, тем более, ему это не горит - лучше б начать с теорий информатики, с азов, со словесного...
|
|
|
Записан
|
Посторонним просьба не беспокоить! ------------------------------------------------- O (I) Rh +
|
|
|
McZim
|
|
« Ответ #148 : 14-01-2008 12:00 » |
|
Люсь, ааааааа, гыгыгы, а я и пропустил что у него в цикле инициализация Люсь, ну ты глазастая
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Люсь
|
|
« Ответ #149 : 14-01-2008 12:04 » |
|
McZim,
|
|
|
Записан
|
Посторонним просьба не беспокоить! ------------------------------------------------- O (I) Rh +
|
|
|
|