pokk
Помогающий
Offline
|
|
« Ответ #30 : 19-11-2008 05:07 » |
|
почему до первого?
а до какого ? for (m=0,sum=0,d=5;d<0;d--) мне тут d=5;d<0 не нравится наверно надо d>0 кста, а ты нашел ошибку в алгоритме (в первом цикле)?
я нашёл ошибку в условии (a[d]==0) это то ? Tщё вопрос. Так как у меня два нулевых элимента то какой он возьмёт ? Если я правильно понял что цикол начинается с конца то он возьмёт первый который найдёт т.е. a[4] так ?
|
|
|
Записан
|
|
|
|
pokk
Помогающий
Offline
|
|
« Ответ #31 : 19-11-2008 05:27 » |
|
вот что у меня получилось #include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[]){
int a[6],max,u,d,sum,m; a[0]=1; a[1]=0; a[2]=2; a[3]=3; a[4]=0; a[5]=7; for (m=0,d=5;d>0;d--){ if (a[d]==7){ m=d; for (sum=0; m>0; m--){ sum+=a[m]; } printf("\t\t\t%d\n",sum ); return 0; } }
}
Цикол первый работает всё нормально условие тоже выполняется ,а вот со вторым циклом что-то не так не могу понять что иненно
|
|
|
Записан
|
|
|
|
McZim
|
|
« Ответ #32 : 19-11-2008 07:11 » |
|
pokk, ахринеть 1. оформление и форматирование кода ужасное!!! 2. d=5 с каких это щей? 3. sum+=a[m], нифига у тебя не получится.
|
|
« Последнее редактирование: 19-11-2008 09:43 от McZim »
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Sla
|
|
« Ответ #33 : 19-11-2008 07:14 » |
|
Задача Вывести сумму элементов массива, от последнего ненулевого. Я так понял твою задачу.
pokk, Замечательно! Браво! ты нашел ошибку мне тут d=5;d<0 не нравится наверно надо d>0
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Sla
|
|
« Ответ #34 : 19-11-2008 07:15 » |
|
McZim, мухи отдельно, котлеты отдельно
как с каких? а какая размерность массива?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Sla
|
|
« Ответ #35 : 19-11-2008 07:16 » |
|
вот почему если нам нужен НУЛЕВОЙ элемент
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
McZim
|
|
« Ответ #36 : 19-11-2008 07:18 » |
|
а какая размерность массива?
да....извиняюсь.
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
McZim
|
|
« Ответ #37 : 19-11-2008 07:20 » |
|
вот почему если нам нужен НУЛЕВОЙ элемент это мне или аффтару?
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Sla
|
|
« Ответ #38 : 19-11-2008 07:22 » |
|
McZim, к автору
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
McZim
|
|
« Ответ #39 : 19-11-2008 08:47 » |
|
а я если честно не понял задачу
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
McZim
|
|
« Ответ #40 : 19-11-2008 09:15 » |
|
ааааа, ну примерно понял
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Sla
|
|
« Ответ #41 : 19-11-2008 09:27 » |
|
где-то за пределами мира сего родилось в общении такое for(int d = 5; d > 0; d--) { if(a[d] == 0) { do { d++; sum += a[d]; }while(d != 5);
break; } }
pokk, расскажи, что мы родили?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
McZim
|
|
« Ответ #42 : 19-11-2008 09:38 » |
|
ну раз такая пьянка, то еще расскажи, если заменить условие: на условие: что это даст?
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Антон (LogRus)
|
|
« Ответ #43 : 19-11-2008 10:05 » |
|
#define ARRAY_SIZE(x) ( sizeof(x)/sizeof (x[0]))
void Test() { long a[] = {1,0,2,3,0,7};
size_t sum = 0; bool useSum = false; for (size_t i = 0; i != ARRAY_SIZE(a); ++i) { if (a[i] == 0) useSum = !useSum;
if (useSum) sum += a[i]; } std::cout << "sum = " << sum << std::endl; }
|
|
|
Записан
|
Странно всё это....
|
|
|
Sla
|
|
« Ответ #44 : 19-11-2008 10:06 » |
|
McZim, кста, если делаеть второй цикл с предусловием, то не нужно
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
McZim
|
|
« Ответ #45 : 19-11-2008 10:12 » |
|
Sla, можно.
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
McZim
|
|
« Ответ #46 : 19-11-2008 10:22 » |
|
LogRus, хм, это разве сумма элементов от последнего нулевого значения? и потом, вот тут: мне кажется нужно сделать: if (useSum) { sum += a[i]; useSum = false; }
|
|
« Последнее редактирование: 19-11-2008 10:25 от McZim »
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
McZim
|
|
« Ответ #47 : 19-11-2008 10:30 » |
|
LogRus, у тебя получается складываются только 2 и 3, но это ведь значения не после последнего нулевого элемента, а последним в данном массиве является 7.
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Антон (LogRus)
|
|
« Ответ #48 : 19-11-2008 10:54 » |
|
........ каким образом можно сделать так что бы выполнялась сумма МЕЖДУ нулевыми элимантами масива ...............
|
|
|
Записан
|
Странно всё это....
|
|
|
McZim
|
|
« Ответ #49 : 19-11-2008 10:55 » |
|
LogRus, ну тада ага, я не так понял, да еще и Слава меня смутил
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
McZim
|
|
« Ответ #50 : 19-11-2008 10:59 » |
|
только вот задача опять таки не ясна, а если вот такой массив будет: {0,1,2,0,5,0}; между какими считать? В любом случае у автора, теперь богатый выбор рабочего кода
|
|
« Последнее редактирование: 19-11-2008 11:01 от McZim »
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Антон (LogRus)
|
|
« Ответ #51 : 19-11-2008 11:28 » |
|
McZim, какой вопрос такой ответ будет уточнение в вопросе - будет уточнее в ответе
|
|
|
Записан
|
Странно всё это....
|
|
|
|
McZim
|
|
« Ответ #53 : 19-11-2008 11:33 » |
|
ну в общем ждем аффтора, и внематочно его выслушиваем
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
pokk
Помогающий
Offline
|
|
« Ответ #54 : 19-11-2008 13:33 » |
|
вот полное задание. Я делал от простого к сложному или рабивал задание на более простоые примеры В любом случае у автора, теперь богатый выбор рабочего кода выбор не сильно большой единствиное что понятно вот это и то не всё for(int d = 5; d > 0; d--) { if(a[d] == 0) { do { d++; sum += a[d]; }while(d != 5);
break; } }
do { d++; sum += a[d]; }while(d != 5);
видимо этим вырожением заменили цикол сумирования Оо пока писал понял пока d не равно 5 как тока d=5 то выполняется выход из цикла
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #55 : 19-11-2008 13:41 » |
|
Ёооо Это же меняет суть, хотя и не намного 1. находим первый нулевой B 2. находим последний нулевой E 3 цикл от первого до последнего B...E - сумма
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
pokk
Помогающий
Offline
|
|
« Ответ #56 : 19-11-2008 13:42 » |
|
Ёооо Это же меняет суть, хотя и не намного 1. находим первый нулевой B 2. находим последний нулевой E 3 цикл от первого до последнего B...E - сумма
Что бы это всё сделать надо было понять как вообще сделать сумму с любого элимента =))
|
|
|
Записан
|
|
|
|
McZim
|
|
« Ответ #57 : 19-11-2008 14:01 » |
|
pokk, тут есть решение для суммы чисел от последнего нулевого значения, есть решение между нулевыми значениями. Немного подумай и сделай так как от тебя требует задача.
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Антон (LogRus)
|
|
« Ответ #58 : 20-11-2008 05:33 » |
|
Пока без мата. Какой-то фигнёй занимаемся - честное слово. Задачи простые как 3 копейки, а автор даже сформулировать их не может. особенно радуют слово цикол ( ЦИКЛ - ЦИКЛ - запомни раз и навсегда) и фразы вот полное задание. Я делал от простого к сложному или рабивал задание на более простоые примеры и где блин оно? Что бы это всё сделать надо было понять как вообще сделать сумму с любого элимента =))
А на листочке ты, как суммы считаешь? Просто начни с нужного. Пиши словесные алгоритмы.
|
|
« Последнее редактирование: 20-11-2008 08:12 от LogRus »
|
Записан
|
Странно всё это....
|
|
|
Sla
|
|
« Ответ #59 : 20-11-2008 07:11 » |
|
LogRus, человек явно нерусскоязычен. Поспокойней. Просто тему нужно перенести в Памагите, и тогда все станет на свои места
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
|