Jaguarl1

Пользователь

Регистрация: 17.01.2015

Сообщения: 671

Рейтинг: 217

Jaguarl1

Регистрация: 17.01.2015

Сообщения: 671

Рейтинг: 217

KadiZ сказал(а):

да, просто не могу сделать, как именно. У них же результаты проверки разные( одно остатка от деления нет, у другого есть).

 

Вроде так проверка должна быть?:

while (a > 0) {

c = a % 10;

if (true)

{

if (c % 2 == 0)

{

}

else;

{

if (c % 2 != 0);

Нажмите, чтобы раскрыть...

Тебе надо хранить четность предыдущей цифры и сравнивать ее с текущей. А то, что у тебя тут написано, даже не скомпилируется

4k_0_yMa

Пользователь

Регистрация: 20.07.2019

Сообщения: 930

Рейтинг: 310

Нарушения: 125

4k_0_yMa

Регистрация: 20.07.2019

Сообщения: 930

Рейтинг: 310

Нарушения: 125

KadiZ сказал(а):

да, просто не могу сделать, как именно. У них же результаты проверки разные( одно остатка от деления нет, у другого есть).

 

Вроде так проверка должна быть?:

while (a > 0) {

c = a % 10;

if (true)

{

if (c % 2 == 0)

{

}

else;

{

if (c % 2 != 0);

Нажмите, чтобы раскрыть...

while(a!=0)

if(a%2==0)

c++;

if(a%2==1)

b++;

Условие не особо понял можешь на украинском написать))

Chaiok

Пользователь

Регистрация: 01.08.2016

Сообщения: 26288

Рейтинг: 8871

Chaiok

Регистрация: 01.08.2016

Сообщения: 26288

Рейтинг: 8871

KadiZ сказал(а):

Мне надо ввести кол-во чисел, которые будут рассматриваться, затем ввести сами эти числа. 

Нажмите, чтобы раскрыть...

"Пусть имеется последовательность произвольных целых ненулевых чисел, завершающаяся числом 0"

разве тебе не нужно вводить числа пока не введешь 0?

 

да и вобще зачем тут нужны какието структуры данных?

просто ставишь счетчик i=0

получаешь число проверяешь на условие

проходит условие увеличиваешь счетчик

получаешь следующее число и делаешь с ним тоже самое пока не закончится послед чисел 0

Just_a_fire

Пользователь

Регистрация: 09.03.2016

Сообщения: 3597

Рейтинг: 3090

Just_a_fire

Регистрация: 09.03.2016

Сообщения: 3597

Рейтинг: 3090

Спойлер:

#include

using namespace std;

 

bool is_alternation(int number) {

  int buf = -1;

  while (number) {

    int even = number % 10 % 2;

    if (buf != -1 && even == buf) return false;

    buf = even;

    number /= 10;

  }

  return true;

}

 

int main()

{

  int num;

  int alternation = 0;

  while (cin >> num) {

    if (num == 0) break;

    if (is_alternation(num)) ++alternation;

  }

  cout << alternation;

  return 0;

}

 

 

GribBomjevik

Пользователь

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

GribBomjevik

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

так че нужно че-нить на си высирать мне? или уже все? 

KadiZ

Пользователь

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

KadiZ

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

GribBomjevik сказал(а):

так че нужно че-нить на си высирать мне? или уже все? 

Нажмите, чтобы раскрыть...

было бы здорово,  я за это время соорудил что-то такое

Спойлер: "ь"

#include

#include

int main()

{

int n, s, k, sum;

sum = 0;

for (int i = 0; i < n; i++)

{

printf ("k = "); scanf ("%d", &k);

while (k!=0)

{

if(k%2==0)

sum++;

if(k%2==1)

sum++;

printf ("sum = %d", sum);

return 0;

}

Но он не комплитится + там сумма считается неправильно, мне надо только чередующиеся

GribBomjevik

Пользователь

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

GribBomjevik

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

KadiZ сказал(а):

было бы здорово,  я за это время соорудил что-то такое

Спойлер: "ь"

#include

#include

int main()

{

int n, s, k, sum;

sum = 0;

for (int i = 0; i < n; i++)

{

printf ("k = "); scanf ("%d", &k);

while (k!=0)

{

if(k%2==0)

sum++;

if(k%2==1)

sum++;

printf ("sum = %d", sum);

return 0;

}

Но он не комплитится + там сумма считается неправильно, мне надо только чередующиеся

Нажмите, чтобы раскрыть...

ок ща сделаю 

Pofigizm_v_Dushe

Пользователь

Регистрация: 26.12.2014

Сообщения: 813

Рейтинг: 1416

Pofigizm_v_Dushe

Регистрация: 26.12.2014

Сообщения: 813

Рейтинг: 1416

KadiZ сказал(а):

так мне ж надо, чтобы чередование чётных и нечётных  сохранялось

 

нашей кафедре чёт не смешно, у нас препод пришел на 3 из 15 занятий за семестр, деканат сказал - ну наверное болеет. У неё тупо отмазка на каждую неделю своя+ она не сообщала об этом никому, ток в личку нам и никто не в курсе даже был о её отсутствиях 

 

Тупо найс ВУЗ 

Нажмите, чтобы раскрыть...

Это не вуз, это конторка которая даст тебе диплом о вышке. Им подтереться можно будет.

4k_0_yMa

Пользователь

Регистрация: 20.07.2019

Сообщения: 930

Рейтинг: 310

Нарушения: 125

4k_0_yMa

Регистрация: 20.07.2019

Сообщения: 930

Рейтинг: 310

Нарушения: 125

KadiZ сказал(а):

было бы здорово,  я за это время соорудил что-то такое

Спойлер: "ь"

#include

#include

int main()

{

int n, s, k, sum;

sum = 0;

for (int i = 0; i < n; i++)

{

printf ("k = "); scanf ("%d", &k);

while (k!=0)

{

if(k%2==0)

sum++;

if(k%2==1)

sum++;

printf ("sum = %d", sum);

return 0;

}

Но он не комплитится + там сумма считается неправильно, мне надо только чередующиеся

Нажмите, чтобы раскрыть...

Лол , я думал тебе посчитать нужно парные -непарные

KadiZ

Пользователь

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

KadiZ

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

Pofigizm_v_Dushe сказал(а):

Это не вуз, это конторка которая даст тебе диплом о вышке. Им подтереться можно будет.

Нажмите, чтобы раскрыть...

Да, так и есть. Но эта конторка даёт мне время научиться хоть чему-то, пусть где-то и без помощи преподов. + Бумажку, которой подстилается товарищ военком. За эти 4(6 лет) все же надеюсь, что я смогу научится полезным вещам и смогу зарабатывать на жизнь. 

 

Если ты сейчас скажешь мол, ты ж даже банального кода сам написать не можешь, то это так, но программ. у меня и не первостепенный предмет. С остальными у егя вроде все хорошо и даже новое для себя узнаю частенько. По крайней мере нет этого ужасного чувства как в школе, когда ходишь и не понимаешь, а в чем польза

4k_0_yMa сказал(а):

Лол , я думал тебе посчитать нужно парные -непарные

Нажмите, чтобы раскрыть...

Бтв прогресс пошел с твоего кода, всяко лучше чем было у меня до этогоFailFish.png чет тильтую уже

KydZe

Пользователь

Регистрация: 24.06.2015

Сообщения: 4728

Рейтинг: 3751

KydZe

Регистрация: 24.06.2015

Сообщения: 4728

Рейтинг: 3751

KadiZ сказал(а):

if(k%2==0)

sum++;

if(k%2==1)

sum++;

Нажмите, чтобы раскрыть...

почему ты в обоих случаях инкриментируешь одну и туже переменную 

BonG1oRnO

Пользователь

Регистрация: 19.08.2015

Сообщения: 68

Рейтинг: 4

BonG1oRnO

Регистрация: 19.08.2015

Сообщения: 68

Рейтинг: 4

хз, был ли ответ, но вот что то такое должно быть

int main()

{

int n, k, sum;

sum = 0;

printf ("k = "); scanf ("%d", &k);

while(k!=0)

{

printf ("k = "); scanf ("%d", &n);

if ((n!=0)&(((k*k) % 2 == 0)&((n*n)%2 == 1)||((k*k) % 2 == 1)&((n*n)%2 == 0))){

sum = sum + 1; }

k=n;

}

printf ("sum = %d", sum);

return 0;

}

GribBomjevik

Пользователь

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

GribBomjevik

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

KadiZ сказал(а):

было бы здорово,  я за это время соорудил что-то такое

 

Нажмите, чтобы раскрыть...

ллови залил на пастбин вводишь последовательность чисел (завершаешь 0 - получаешь сумму ) - компиль проверяй 

https://pastebin.com/ymY6rXCr

 

с тебя pogchamp 

KadiZ

Пользователь

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

KadiZ

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

Господа, ну вы прямо умничи, не то что яehh.png

В двух вариантах аж мне разложили все, я вот только не пойму почему вариант "одной сложности" так отличается, ну по крайней мере для меняAnimeFeelsNepMan.png

GribBomjevik

Пользователь

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

GribBomjevik

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

KadiZ сказал(а):

 

Нажмите, чтобы раскрыть...

ну ты проверил? все работает? мой код всмысле? 

KadiZ

Пользователь

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

KadiZ

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

GribBomjevik сказал(а):

ну ты проверил? все работает? мой код всмысле? 

Нажмите, чтобы раскрыть...

а, стоп, у тебя суммирует, даж если они не выполняют условие ж, то есть даже если все чётные все равно их кол-во считает, бтв я понял вроде как доделать сейчас

GribBomjevik

Пользователь

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

GribBomjevik

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

KadiZ сказал(а):

а, стоп, у тебя суммирует, даж если они не выполняют условие ж, то есть даже если все чётные все равно их кол-во считает, бтв я понял вроде как доделать сейчас

Нажмите, чтобы раскрыть...

нет лол у меня все верно - такие числа как 444 или 488 или 888 и тд - он не считает 

KadiZ

Пользователь

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

KadiZ

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

GribBomjevik сказал(а):

нет лол у меня все верно - такие числа как 444 или 488 или 888 и тд - он не считает 

Нажмите, чтобы раскрыть...

ты думаешь там главное, чтобы разряды числа были разночётностными(хз есть такое слово или нет), я подумал сами числа. Мол 5,6,7,8  = 4, а 5, 3, 1 = 0

GribBomjevik

Пользователь

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

GribBomjevik

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

KadiZ сказал(а):

ты думаешь там главное, чтобы разряды числа были разночётностными(хз есть такое слово или нет), я подумал сами числа. Мол 5,6,7,8  = 4, а 5, 3, 1 = 0

Нажмите, чтобы раскрыть...

аа ты имел ввиду чтобы чилсла между собой были разной четности? 

 

я подумал - да, чтобы разряды (ты же цифры неписал в посте) 

 

как надо то? могу под второй вариант переделать 

KadiZ

Пользователь

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

KadiZ

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

GribBomjevik сказал(а):

аа ты имел ввиду чтобы чилсла между собой были разной четности? 

 

я подумал - да, чтобы разряды (ты же цифры неписал в посте) 

 

как надо то? могу под второй вариант переделать 

Нажмите, чтобы раскрыть...

там цифры написано, но это видимо задание описано по-идиотски, извиняй, в остальных вариантах имелось ввиду числа, которые мы вводим

GribBomjevik

Пользователь

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

GribBomjevik

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

KadiZ сказал(а):

ты думаешь там главное, чтобы разряды числа были разночётностными(хз есть такое слово или нет), я подумал сами числа. Мол 5,6,7,8  = 4, а 5, 3, 1 = 0

Нажмите, чтобы раскрыть...

Найти количество таких элементов, в которых чередуются четные и

нечетные цифры. - ну вообще кста намекает на то, что тебе нужно так как я сделал, потому что тут именно про цифры сказано 

BonG1oRnO

Пользователь

Регистрация: 19.08.2015

Сообщения: 68

Рейтинг: 4

BonG1oRnO

Регистрация: 19.08.2015

Сообщения: 68

Рейтинг: 4

KadiZ сказал(а):

ты думаешь там главное, чтобы разряды числа были разночётностными(хз есть такое слово или нет), я подумал сами числа. Мол 5,6,7,8  = 4, а 5, 3, 1 = 0

Нажмите, чтобы раскрыть...

так это так и работает если что

Спойлер: "тык"

int main()

{

int n, k, sum;

sum = 0;

printf ("k = "); scanf ("%d", &k);

while(k!=0)

{

printf ("k = "); scanf ("%d", &n);

if ((n!=0)&(((k*k) % 2 == 0)&((n*n)%2 == 1)||((k*k) % 2 == 1)&((n*n)%2 == 0))){

sum = sum + 1; }

k=n;

}

printf ("sum = %d", sum);

return 0;

}

KadiZ

Пользователь

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

KadiZ

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

BonG1oRnO сказал(а):

так это так и работает если что

Спойлер: "тык"

int main()

{

int n, k, sum;

sum = 0;

printf ("k = "); scanf ("%d", &k);

while(k!=0)

{

printf ("k = "); scanf ("%d", &n);

if ((n!=0)&(((k*k) % 2 == 0)&((n*n)%2 == 1)||((k*k) % 2 == 1)&((n*n)%2 == 0))){

sum = sum + 1; }

k=n;

}

printf ("sum = %d", sum);

return 0;

}

Нажмите, чтобы раскрыть...

да да, я как раз этот вариант и попробовал, там все круто, кста пока мы решали  вы решали мне лабы, препод опять отменил паруsammyyPepekek.png

-Rikimaru-

Пользователь

Регистрация: 19.06.2014

Сообщения: 1367

Рейтинг: 445

-Rikimaru-

Регистрация: 19.06.2014

Сообщения: 1367

Рейтинг: 445

KadiZ сказал(а):

В общем, сижу я такой, чилю в пятничный вечер. Думаю, завтра лабы по программированию, сделаю, пожалуй ещё одну. Вспоминаю, что уже выполнил эту лабу с другим вариантом для своего друга( она оказалась на удивление простой). Уже готовлюсь расправиться с ней за 3-4 минуты, а тут...

Мне выпал вариант, который, лично для меня, на голову сложнее, чем вариант, который я делал до этого. 

В общем вот условие:

 

Спойлер: "условие"

Пусть имеется последовательность произвольных целых ненулевых

чисел, завершающаяся числом 0 (число 0 в последовательность не входит). Количество элементов в последовательности заранее неизвестно, поэтому в данной работе использовать массивы (статические и динамические) нельзя.

 

Мой вариант: Найти количество таких элементов, в которых чередуются четные и

нечетные цифры.

 

Вот код, написаный под вариант друга:

Спойлер: "ыы"

#include 

#include 

int main()

{

int n, s, k, sum;

sum = 0;

printf ("n = "); scanf ("%d", &n);

for (int i = 0; i < n; i++)

{

printf ("k = "); scanf ("%d", &k);

if (k % 2 == 0){

sum = sum + k; }

}

printf ("sum = %d", sum);

return 0;

}

Как мне переделать под свой вариант, соблюдая условия строго на Си

Нажмите, чтобы раскрыть...

Препод проверяет варианты?

Ты не можешь сдать чужой?

KadiZ

Пользователь

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

KadiZ

Регистрация: 12.04.2017

Сообщения: 2585

Рейтинг: 693

-Rikimaru- сказал(а):

Препод проверяет варианты?

Ты не можешь сдать чужой?

Нажмите, чтобы раскрыть...

да, при чём она проверяет номер твой в своей тетради, а вариант читает из своей книжки, а то ей как-то чел кодом элемента текст в электронном варианте подменилFeelsClownMan.png?1552738440 ( вот он истинный программист)

Тема закрыта