KadiZ

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

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

Сообщения: 2585

Рейтинг: 693

KadiZ

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

Сообщения: 2585

Рейтинг: 693

В общем, сижу я такой, чилю в пятничный вечер. Думаю, завтра лабы по программированию, сделаю, пожалуй ещё одну. Вспоминаю, что уже выполнил эту лабу с другим вариантом для своего друга( она оказалась на удивление простой). Уже готовлюсь расправиться с ней за 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;

}

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

3ombiechamp

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

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

Сообщения: 799

Рейтинг: 349

3ombiechamp

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

Сообщения: 799

Рейтинг: 349

Дописать функцию на проверку числа. И вводить пока не введут 0, а не for.  

Hybra

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

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

Сообщения: 3216

Рейтинг: 2174

Hybra

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

Сообщения: 3216

Рейтинг: 2174

я уж думал тут тред про социальную инженерию...

Over1oadByMe

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

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

Сообщения: 5071

Рейтинг: 2713

Over1oadByMe

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

Сообщения: 5071

Рейтинг: 2713

img

Чет ржомба, гл в академе, если в конце семестра такое не делаешь 

KadiZ

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

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

Сообщения: 2585

Рейтинг: 693

KadiZ

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

Сообщения: 2585

Рейтинг: 693

3ombiechamp сказал(а):

Дописать функцию на проверку числа. И вводить пока не введут 0, а не for.  

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

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

 

Over1oadByMe сказал(а):

Чет ржомба, гл в академе, если в конце семестра такое не делаешь 

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

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

 

Тупо найс ВУЗ 

3ombiechamp

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

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

Сообщения: 799

Рейтинг: 349

3ombiechamp

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

Сообщения: 799

Рейтинг: 349

KadiZ сказал(а):

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

 

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

 

Тупо найс ВУЗ 

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

Ты условие поменял или чо? В итоге  что надо. Было же написано найти сколько чисел, в которые чередуются цифры. 

KadiZ

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

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

Сообщения: 2585

Рейтинг: 693

KadiZ

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

Сообщения: 2585

Рейтинг: 693

3ombiechamp сказал(а):

Ты условие поменял или чо? В итоге  что надо. Было же написано найти сколько чисел, в которые чередуются цифры. 

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

не, не менял. Я об этом чередовании и говорил, вот я не пойму как сделать проверку на чёт, нечет, подсчитать то их я смогу

3ombiechamp

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

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

Сообщения: 799

Рейтинг: 349

3ombiechamp

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

Сообщения: 799

Рейтинг: 349

KadiZ сказал(а):

не, не менял. Я об этом чередовании и говорил, вот я не пойму как сделать проверку на чёт, нечет, подсчитать то их я смогу

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

Сделать что надо??????

KadiZ

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

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

Сообщения: 2585

Рейтинг: 693

KadiZ

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

Сообщения: 2585

Рейтинг: 693

3ombiechamp сказал(а):

Сделать что надо??????

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

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

SweetSweetLoot

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

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

Сообщения: 4739

Рейтинг: 1149

SweetSweetLoot

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

Сообщения: 4739

Рейтинг: 1149

img

у тебя есть команда сложение по модулю 2(или по русски остаток от деления на 2)

http://cppstudio.com/post/259/

 

плюс добавь циклы и будет тебе счастье

Over1oadByMe

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

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

Сообщения: 5071

Рейтинг: 2713

Over1oadByMe

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

Сообщения: 5071

Рейтинг: 2713

img
KadiZ сказал(а):

Тупо найс ВУЗ

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

Цэ шарага

KadiZ

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

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

Сообщения: 2585

Рейтинг: 693

KadiZ

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

Сообщения: 2585

Рейтинг: 693

Over1oadByMe сказал(а):

Цэ шарага

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

По факту, но уехать учиться в другой город мне никакие финансы бы не позволили, а в моём селе это "Опорный ВУЗ региона" ( в топ 100 вузов РФ кста входит

SweetSweetLoot

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

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

Сообщения: 4739

Рейтинг: 1149

SweetSweetLoot

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

Сообщения: 4739

Рейтинг: 1149

img

во вторых я не понимаю, что за ересь у тебя в условии. типо ты вводишь число(n) и потом заносишь уже числа, но почему то юзать динамическии массив нельзяFeelsOkayMan.png?1553740655(по условию?), если так по условию, то можешь использовать или хеш таблицы или дерево\стек\очередь(но врядли вам дали задачу на эти решения)

KadiZ

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

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

Сообщения: 2585

Рейтинг: 693

KadiZ

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

Сообщения: 2585

Рейтинг: 693

SweetSweetLoot сказал(а):

во вторых я не понимаю, что за ересь у тебя в условии. типо ты вводишь число(n) и потом заносишь уже числа, но почему то юзать динамическии массив нельзяFeelsOkayMan.png?1553740655(по условию?), если так по условию, то можешь использовать или хеш таблицы или дерево\стек\очередь(но врядли вам дали задачу на эти решения)

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

да, массивы использовать запрещено по условию, тип "Але, дебилы, какие массивы, вы числа ручками вписываете"monkaH.png 

SweetSweetLoot

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

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

Сообщения: 4739

Рейтинг: 1149

SweetSweetLoot

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

Сообщения: 4739

Рейтинг: 1149

img

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

 

KadiZ сказал(а):

да, массивы использовать запрещено по условию, тип "Але, дебилы, какие массивы, вы числа ручками вписываете"monkaH.png 

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

мне кажется вашему преподу будет пофиг, главное что бы работало, если она такая пофигистка, как ты описывал

KadiZ

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

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

Сообщения: 2585

Рейтинг: 693

KadiZ

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

Сообщения: 2585

Рейтинг: 693

SweetSweetLoot сказал(а):

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

 

мне кажется вашему преподу будет пофиг, главное что бы работало, если она такая пофигистка

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

мне статистический тоже нельзяsammyyPepekek.png

Кста, когда она приходила она все построчно требует объяснять. Так бы давно уж на почту ей скинул и коллективным разумом сделали бы лабы, на крайняк купил бы, лишь бы задоджить 1 предмет

use roll guys ty

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

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

Сообщения: 40

Рейтинг: 3

use roll guys ty

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

Сообщения: 40

Рейтинг: 3

img
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;

}

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

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

это какого курса?

SweetSweetLoot

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

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

Сообщения: 4739

Рейтинг: 1149

SweetSweetLoot

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

Сообщения: 4739

Рейтинг: 1149

img

KadiZ

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

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

Сообщения: 2585

Рейтинг: 693

KadiZ

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

Сообщения: 2585

Рейтинг: 693

use roll guys ty сказал(а):

это какого курса?

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

1 курс 1 семестрCoolNut.png

SweetSweetLoot

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

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

Сообщения: 4739

Рейтинг: 1149

SweetSweetLoot

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

Сообщения: 4739

Рейтинг: 1149

img

Jaguarl1

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

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

Сообщения: 671

Рейтинг: 217

Jaguarl1

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

Сообщения: 671

Рейтинг: 217

Считываешь число, проверяешь подходит ли под условие. Если да, добавляешь к счетчику 1. В чем проблемы? Никакие массивы здесь не нужны

SweetSweetLoot

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

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

Сообщения: 4739

Рейтинг: 1149

SweetSweetLoot

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

Сообщения: 4739

Рейтинг: 1149

img
Jaguarl1 сказал(а):

Считываешь число, проверяешь подходит ли под условие. Если да, добавляешь к счетчику 1. В чем проблемы? Никакие массивы здесь не нужны

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

да, так даже проще и ничего не нужно, цикл do while c проверкой на 0 на выходе

KadiZ

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

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

Сообщения: 2585

Рейтинг: 693

KadiZ

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

Сообщения: 2585

Рейтинг: 693

Jaguarl1 сказал(а):

Считываешь число, проверяешь подходит ли под условие. Если да, добавляешь к счетчику 1. В чем проблемы? Никакие массивы здесь не нужны

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

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

 

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

while (a > 0) {

c = a % 10;

if (true)

{

if (c % 2 == 0)

{

}

else;

{

if (c % 2 != 0);

songof5ky

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

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

Сообщения: 84

Рейтинг: 20

songof5ky

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

Сообщения: 84

Рейтинг: 20

img

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

Все.Решение написано на коленке,так что может быть неоптимальным

GribBomjevik

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

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

Сообщения: 2810

Рейтинг: 456

GribBomjevik

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

Сообщения: 2810

Рейтинг: 456

приду домой напишу - не сцы (если еще не решили) 

Тема закрыта