Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 [2]  Все   Вниз
  Печать  
Автор Тема: Ввести 2 числа и посчитать сумму всех чисел между ними  (Прочитано 60322 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #30 : 10-10-2010 12:53 » 

g001501, хм, даже не знаю. Наверное, циклы без перебора Улыбаюсь Ещё бывают бесконечные циклы. В общем - для чего назначишь цикл, для того он и будет
Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #31 : 10-10-2010 17:32 » 

g001501, читаем: http://ru.wikipedia.org/wiki/%D0%A6%D0%B8%D0%BA%D0%BB_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%29
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #32 : 11-10-2010 09:27 » 

а какие еще циклы бывают, кроме цикла с перебором?

Еще бывают циклы с предусловием, с постусловием и обобщенные циклы (с явным выходом через break или в случае крайней необходимости goto).
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
g001501
Интересующийся

by
Offline Offline
Пол: Женский

« Ответ #33 : 13-10-2010 13:57 » 


спасибо

Добавлено через 9 минут и 29 секунд:
Как вы думаете, каков будет результат выполнения программы?

Код:
#include<stdio.h>
void main()
{
        int x, z=0;
for(x=0; x<5; x++)
{
z++;
if(x<3) continue;
if(x>3) break;
z++;
}
printf("z=%d\n",z);
}
« Последнее редактирование: 13-10-2010 14:06 от g001501 » Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #34 : 13-10-2010 14:48 » 

результат будет предсказуемым, до второго z++ дойдет только один раз
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
g001501
Интересующийся

by
Offline Offline
Пол: Женский

« Ответ #35 : 13-10-2010 16:09 » 

результат будет предсказуемым, до второго z++ дойдет только один раз

так чему в итоге будет равно z?
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #36 : 13-10-2010 17:04 » 

g001501,
1. Это ты у нас спрашиваешь?
2. Если хочешь понять все-таки чему будет равно, то

z=0
цикл x от 0 до 4
z++ | z=1
если x<3 то КУДА?
если x>3 то что?
z++ | КОГДА?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
g001501
Интересующийся

by
Offline Offline
Пол: Женский

« Ответ #37 : 14-10-2010 08:56 » 

g001501,
1. Это ты у нас спрашиваешь?
2. Если хочешь понять все-таки чему будет равно, то

z=0
цикл x от 0 до 4
z++ | z=1
если x<3 то КУДА?
если x>3 то что?
z++ | КОГДА?


спасибо! я уже поняла, почему z=6.
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #38 : 14-10-2010 09:10 » 

Цитата
я уже поняла, почему z=6.

А я не понял Жаль
Докажи...
xzпримечание
01на начало цикла
Продолжи
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
g001501
Интересующийся

by
Offline Offline
Пол: Женский

« Ответ #39 : 18-10-2010 11:29 » 

Цитата
я уже поняла, почему z=6.

А я не понял Жаль
Докажи...
xzпримечание
01на начало цикла
Продолжи


x = 0, z = 1, (x < 3) - да, continue;
x = 1, z = 2, (x < 3) - да, continue;
x = 2, z = 3, (x < 3) - да, continue;
x = 3, z = 4, (x < 3) - нет, (x > 3) - нет, z = 5;
x = 4, z = 6, (x > 3) - да, выход из цикла.

Добавлено через 7 дней, 2 часа, 4 минуты и 56 секунд:
Чему равно S?

Код:
#include<stdio.h>
#define N 6

void main()
{
double Array[N] = {1,2,3,0,-5,6};
double Vector[N] = {1,1,1,1};
float S = 0;
int i;

for(i = 0; i < N ; i++)
{
S = S + Array[i]*Vector[i];
}
printf("результат равен %f", S);
}

заранее спасибо за ответ


« Последнее редактирование: 25-10-2010 13:34 от g001501 » Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #40 : 25-10-2010 13:37 » 

а не вылетим ли за пределы массива?

S будет неизвестно чему равно
S будет равно сумме первых четырех элементов массива Array.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
g001501
Интересующийся

by
Offline Offline
Пол: Женский

« Ответ #41 : 25-10-2010 15:30 » 

а не вылетим ли за пределы массива?

S будет неизвестно чему равно
S будет равно сумме первых четырех элементов массива Array.

Что-то я не догоняю, почему?
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #42 : 26-10-2010 13:31 » 

Джон, так нечестно Улыбаюсь

Был вопрос
а не вылетим ли за пределы массива?

Ответа не было.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #43 : 26-10-2010 13:33 » 

Не Слав, я ответил g001501. На её вопрос "Что-то я не догоняю, почему?". Ок, больше не вмешиваюсь.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #44 : 26-10-2010 13:46 » 

Я пытаюсь ответить на простые вопросы, и в то же время их задаю, для того чтоб человек сам на них ответил.
Если вопрос не понят, то мне бы хотелось, чтоб был вопрос о непонятом моменте, а не "Чет не догоняю".

А там в цитате аж три строки.
Какую строку не догоняет спрашивающий?


зы. вмешивайся, конечно же.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
g001501
Интересующийся

by
Offline Offline
Пол: Женский

« Ответ #45 : 26-10-2010 17:01 » 

Я пытаюсь ответить на простые вопросы, и в то же время их задаю, для того чтоб человек сам на них ответил.
Если вопрос не понят, то мне бы хотелось, чтоб был вопрос о непонятом моменте, а не "Чет не догоняю".

А там в цитате аж три строки.
Какую строку не догоняет спрашивающий?


зы. вмешивайся, конечно же.

Я не думаю, что задача содержит ошибку, так как задание состоит в том, чтобы определить результат выполнения программы.  Только что попробовала в компиляторе. Результат получается равен 6. Я не догоню, почему?
Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #46 : 26-10-2010 17:13 » 

Sla, прости.
g001501, чему равно выражение
Код:
Array[i]*Vector[i] 
при i  равном пяти?
Записан

С уважением, Oldy.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #47 : 26-10-2010 20:23 » 

Oldy, меня прости?
не вопрос...
чему равно количество элементов Vector?
 
1+2+3 =6
Почему? Это вопрос к Sla?
и вот вопрос!!!!
а не вылетим ли за пределы массива?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #48 : 27-10-2010 07:06 » 

А там в цитате аж три строки.
Какую строку не догоняет спрашивающий?

Я так понял, что твои ответы.

Цитата
зы. вмешивайся, конечно же.

ОК Ага

Тогда восстановлю вчерашний пост.



Добавлено через 1 минуту и 11 секунд:
Я не думаю, что задача содержит ошибку, так как задание состоит в том, чтобы определить результат выполнения программы.

Сколько элементов в массиве double Vector[N] = {1,1,1,1}; ?

Какие значения примет счёчик i в  for(i = 0; i < N ; i++) при #define N 6 ?

Какие значения имеют элементы массива Vector с индексами 4 и 5 -> Vector[4] и Vector[5] ?

Добавлено через 3 минуты:
Только что попробовала в компиляторе. Результат получается равен 6. Я не догоню, почему?

Слава так и написал:

S будет равно сумме первых четырех элементов массива Array.

как один из возможных вариантов решения.
« Последнее редактирование: 27-10-2010 07:10 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
g001501
Интересующийся

by
Offline Offline
Пол: Женский

« Ответ #49 : 29-10-2010 12:19 » 

Sla, прости.
g001501, чему равно выражение
Код:
Array[i]*Vector[i] 
при i  равном пяти?

Нулю, думаю.

Добавлено через 2 минуты и 3 секунды:
Oldy, меня прости?
не вопрос...
чему равно количество элементов Vector?
 
1+2+3 =6
Почему? Это вопрос к Sla?
и вот вопрос!!!!
а не вылетим ли за пределы массива?


Количество элементов Vector равно 6.
А на счет вопроса, вылетим ли мы за пределы массива, то я пока еще не настолько умна, чтобы на него ответить

Добавлено через 4 минуты и 59 секунд:
Я не думаю, что задача содержит ошибку, так как задание состоит в том, чтобы определить результат выполнения программы.

Сколько элементов в массиве double Vector[N] = {1,1,1,1}; ?

Какие значения примет счёчик i в  for(i = 0; i < N ; i++) при #define N 6 ?

Какие значения имеют элементы массива Vector с индексами 4 и 5 -> Vector[4] и Vector[5] ?

1. 6
2. 1,2,3,4,5,6
3. 0 и 0
« Последнее редактирование: 29-10-2010 12:26 от g001501 » Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #50 : 29-10-2010 12:40 » 

 g001501, я кажется начинаю понимать в чём проблема. Похоже, что твой компилятор создаёт (что несколько подозрительно) в твоей версии С++ автоматически два нулевых элемента. Вобще-то это нехорошо так делать. Знаешь, загадку для начинающих программеров?

"Мальвина дала Буратино три яблока, Буратино съел одно яблоко, сколько яблок у Буратино?"

Сможешь отгадать?

Поэтому лучше написать так:

Vector[N] = {1.0, 1.0, 1.0, 1.0, 0.0, 0.0};
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
g001501
Интересующийся

by
Offline Offline
Пол: Женский

« Ответ #51 : 29-10-2010 12:49 » 

g001501, я кажется начинаю понимать в чём проблема. Похоже, что твой компилятор создаёт (что несколько подозрительно) в твоей версии С++ автоматически два нулевых элемента. Вобще-то это нехорошо так делать. Знаешь, загадку для начинающих программеров?

"Мальвина дала Буратино три яблока, Буратино съел одно яблоко, сколько яблок у Буратино?"

Сможешь отгадать?

Поэтому лучше написать так:

Vector[N] = {1.0, 1.0, 1.0, 1.0, 0.0, 0.0};

Ну, теоретически у него осталось 2 яблока. А практически, может, и меньше. Вдруг он оставшимися яблоками угостил еще кого-нибудь? Улыбаюсь
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #52 : 29-10-2010 14:18 » 

У него МОЖЕТ БЫТЬ осталось 2 яблока. Ага Можно ли всё-таки однозначно сказать, сколько яблок у Буратино, при условии, что он никого не угощал? Подсказка - НЕТ. А вот почему? Ага
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
g001501
Интересующийся

by
Offline Offline
Пол: Женский

« Ответ #53 : 29-10-2010 17:12 » 

У него МОЖЕТ БЫТЬ осталось 2 яблока. Ага Можно ли всё-таки однозначно сказать, сколько яблок у Буратино, при условии, что он никого не угощал? Подсказка - НЕТ. А вот почему? Ага

Предположим, что у вас в кармане два яблока. Некто взял у вас одно яблоко. Сколько у вас осталось
яблок?

– Два.

– Подумайте хорошенько.

– Два…

– Почему?

– Я же не отдам Некту яблоко, хоть он дерись!
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #54 : 29-10-2010 23:53 » 

g001501, всё гораздо проще, нельзя сказать сколько яблок у Буратино, после того как он съел одно, тк из условия задачи неизвестно сколько яблок у него было до того, как Мальвина дала ему ещё три. Какой отсюда следует вывод?
Для простоты представь себе, что Буратино - переменная целого типа, содержащая количество буратиновых яблок:

int Буратино;
Буратино += 3;
Буратино -= 1;
« Последнее редактирование: 29-10-2010 23:56 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
g001501
Интересующийся

by
Offline Offline
Пол: Женский

« Ответ #55 : 03-11-2010 17:06 » 

g001501, всё гораздо проще, нельзя сказать сколько яблок у Буратино, после того как он съел одно, тк из условия задачи неизвестно сколько яблок у него было до того, как Мальвина дала ему ещё три. Какой отсюда следует вывод?
Для простоты представь себе, что Буратино - переменная целого типа, содержащая количество буратиновых яблок:

int Буратино;
Буратино += 3;
Буратино -= 1;


и что дальше? Улыбаюсь

Добавлено через 3 минуты и 4 секунды:
Есть такая задача:

Разработать приложение, выполняющее следующие функции. Ввести с клавиатуры значения элементов двумерного массива действительных чисел. Поменять местами четные и нечетные столбцы. Отсортировать элементы первой строки по убыванию (методом выбора). Результат вывести на экран.

И ее решение:

Код:
#include <stdio.h>
#include <conio.h>
void main()
{
        float a[100][100], t, max;
        int m, n, i, j, p;
        printf("Vvedite razmer matricy (MxN): ") ;
        scanf("%d%d", &m, &n);
        for (i = 0; i < m; i++)
                for (j = 0; j < n; j++)
                        {
                                printf("Vvedite jelement massiva a[%d, %d]: ", i + 1, j + 1);
                                scanf("%f", &a[i][j]);
                        }
        printf("\nRazmer matricy: %dx%d\n", m, n);
        printf("\nIshodnaja matrica\n" );
        for (i = 0; i < m; i++)
                {
                        for (j = 0; j < n; j++) printf("%g ", a[i][j]);
                        printf("\n" );
                }
        for (j = 0; j < m - 1; j+=2)
                {
                        for (i = 0; i < n; i++)
                                {
                                        t = a[i][j];
                                        a[i][j] = a[i][j + 1];
                                        a[i][j + 1] = t;
                                }
                }
        for (i = 0; i < n - 1; i++)
                {
                        max = a[0][i];
                        p = i;
                        for (j = i + 1; j < m; j++)
                                if (a[0][j] > max) { max = a[0][j]; p = j; }
                        t = a[0][i];
                        a[0][i] = a[0][p];
                        a[0][p] = t;
                }
        printf("\nRezul'tat\n") ;
        for (i = 0; i < m; i++)
                {
                        for (j = 0; j < n; j++) printf("%g ", a[i][j]);
                        printf("\n") ;
                }
        getch();
   }

Кто-нибудь может объяснить, как поменяли местами четные и нечетные столбцы и принцип сортировки первой строки во возрастанию? Заранее спасибо.
« Последнее редактирование: 03-11-2010 17:09 от g001501 » Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #56 : 04-11-2010 07:33 » new

и что дальше? Улыбаюсь

Вывод какой следует? Почему нельзя сказать однозначно, сколько яблок у Буратино после всех этих операций?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
g001501
Интересующийся

by
Offline Offline
Пол: Женский

« Ответ #57 : 06-11-2010 16:23 » 

и что дальше? Улыбаюсь

Вывод какой следует? Почему нельзя сказать однозначно, сколько яблок у Буратино после всех этих операций?

потому что из условия задачи неизвестно сколько яблок у него было до того, как Мальвина дала ему ещё три.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #58 : 07-11-2010 21:03 » 

Ну наконец-то! Ага

Поскольку мы делаем вид, что мы программеры, то данный ответ можно скорректировать: ПЕРЕМЕННЫЕ НАДО ИНИЦИАЛЛИЗИРОВАТЬ!

В данном случае:

Какие значения имеют элементы массива Vector с индексами 4 и 5 -> Vector[4] и Vector[5] ?

Эти элементы массива не были проинициаллизированы, именно поэтому Слава сказал
S будет неизвестно чему равно

То, что у тебя получается 6, есть результат "разумности" режима отладки. Обычно перед выполнением программы в этом режиме вся резервируемая память обнуляется. Это часто приводит к сокрытию ошибок. В релизе такие штуки не проходят.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Страниц: 1 [2]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines