Sla
|
|
« Ответ #30 : 22-12-2009 12:20 » |
|
Похоже, теперь это заставить работать.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Dana
|
|
« Ответ #31 : 23-12-2009 07:33 » |
|
/* Проход массива "вверх", начиная с последнего до i-го элемента */ for (j = dim-1; j > i; j--) как можно объяснить это условие? если j будет 9 элементом (если их у нас всего 10 допустим); j больше i; j-- это j=j-1-это получается что еще раз берем 9 элемент что ли?
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Sla
|
|
« Ответ #32 : 23-12-2009 08:04 » |
|
Dana, ну почему же? давай разберем работу цикла на примере
Начальное условие j=9, i=7 j больше i ДА - что-то выполняем и декрементируем j (в данном случае, вычитаем единичку) и запоминаем новое значение j и продолжаем цикл НЕТ - завершаем цикл.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Dana
|
|
« Ответ #33 : 23-12-2009 09:00 » |
|
то есть символ j-- значит запоминание новое значение? ЗЫ ссори за тупость ((
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Sla
|
|
« Ответ #34 : 23-12-2009 09:10 » |
|
Dana, j-- это конструкция языка, которая равносильна j=j-1
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Dana
|
|
« Ответ #35 : 23-12-2009 09:53 » |
|
Это то понятно не могу понять по какому принципу в Си идет запоминание нового значения
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Sla
|
|
« Ответ #36 : 23-12-2009 09:56 » |
|
Это то понятно не могу понять по какому принципу в Си идет запоминание нового значения
Переведи?! (с) (Москва слезам не верит. О каком принципе ты говоришь?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Dana
|
|
« Ответ #37 : 23-12-2009 10:00 » |
|
#include <stdio.h> #define swap(a,b) { int tmp; tmp=a; a=b; b=tmp; } main() { int a[10], size=10; /*Объявляем размер массива*/ int i, j; /*Оъявляем переменные*/ for (i=0;i<size;i++) /*Условие при котором будет работать программка*/ { printf("Vvedite element\n"); /*Предлагаем ввести элемент*/ scanf("%d",&a[i]); /*Считываем его, получаем адрес по которому размещен массив*/ } printf("Bilo\n"); /*Вывод на экран введеных значений*/ for (i=0;i<size; i++) printf("%d\n",a[i]); for (i = 0; i < size; i++) /* Проход массива "вниз", начиная с нулевого элемента */ /*получается i это 0; 0<10 (так как size10); i++ - переход к следующему элементу вниз?
for (j = size-1; j > i; j--) /* Проход массива "вверх", начиная с последнего до i-го элемента */ */j это 10-1; j>i (какого i); j-- - переходим к след элементу вверх
if(a[j-1] > a[j]) swap(a[j-1], a[j]); /* Сравнение двух соседних элементов и их обмен */ printf("Stalo\n"); for (i=0;i<size; i++) printf("%d\n",a[i]); /*Вывод на экран отсортированного массива*/
|
|
« Последнее редактирование: 23-12-2009 10:04 от Sla »
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Sla
|
|
« Ответ #38 : 23-12-2009 10:05 » |
|
Dana, только честно - сама писала?
и почему недописала?
Не проверял.
зы. Напоминаю, свой код оформляй тегами [code][/code]
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Sla
|
|
« Ответ #39 : 23-12-2009 10:08 » |
|
теперь осталось скомпилировать и запустить Видимо что писала сама, по крайне мере прокомментировала код. Умничка.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Dana
|
|
« Ответ #40 : 23-12-2009 10:08 » |
|
Если бы сама писала , я бы не спрашивала .for (i = 0; i < size; i++) /* Проход массива "вниз", начиная с нулевого элемента */ /*получается i это 0; 0<10 (так как size10); i++ - переход к следующему элементу вниз?
for (j = size-1; j > i; j--) /* Проход массива "вверх", начиная с последнего до i-го элемента */ */j это 10-1; j>i (какого i); j-- - переходим к след элементу вверх
зы. Напоминаю, свой код оформляй тегами
Это как?
|
|
« Последнее редактирование: 23-12-2009 10:21 от Sel »
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Вад
|
|
« Ответ #41 : 23-12-2009 10:18 » |
|
for (i = 0; i < size; i++) /* Проход массива "вниз", начиная с нулевого элемента */ /*получается i это 0; 0<10 (так как size10); i++ - переход к следующему элементу вниз?
У тебя есть какой-нибудь учебник по С/C++? (на чём, кстати, пишешь?) Изначально i=0. Переходим к первой итерации цикла. Если i < size, то выполняем действия в теле цикла. Затем увеличиваем i на 1. Переходим ко второй итерации, и т.д.
|
|
|
Записан
|
|
|
|
Dana
|
|
« Ответ #42 : 23-12-2009 10:33 » |
|
for (i = 0; i < size; i++) /* Проход массива "вниз", начиная с нулевого элемента */ /*получается i это 0; 0<10 (так как size10); i++ - переход к следующему элементу вниз?
У тебя есть какой-нибудь учебник по С/C++? (на чём, кстати, пишешь?) Изначально i=0. Переходим к первой итерации цикла. Если i < size, то выполняем действия в теле цикла. Затем увеличиваем i на 1. Переходим ко второй итерации, и т.д. Получается вторая итерация будет 0<9? Пишу на С не С++ Много учебников уже прочитала некоторые даже на несколько раз. Ну не знаю..не могу это понять и все(( Может мне с чего попроще начать?
|
|
« Последнее редактирование: 23-12-2009 10:35 от Dana »
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Вад
|
|
« Ответ #43 : 23-12-2009 10:42 » |
|
Вторая итерация будет 1 < 10. Третья - 2<10. Когда произойдёт 10 итераций, на одиннадцатой сравнение 10 < 10 даст в результате false и произойдёт выход из цикла.
|
|
|
Записан
|
|
|
|
Dana
|
|
« Ответ #44 : 23-12-2009 11:03 » |
|
Тогда блок схема такая будет?
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Sla
|
|
« Ответ #45 : 23-12-2009 11:05 » |
|
Dana, инкремент (декремент) выполняется в конце цикла
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Dana
|
|
« Ответ #46 : 23-12-2009 11:06 » |
|
Вторая итерация будет 1 < 10. Третья - 2<10. Когда произойдёт 10 итераций, на одиннадцатой сравнение 10 < 10 даст в результате false и произойдёт выход из цикла.
тогда если i--, то 0<10 -1<10 -2<10 -3<10 и т.д.?
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Вад
|
|
« Ответ #47 : 23-12-2009 11:08 » |
|
Да.
|
|
|
Записан
|
|
|
|
Dana
|
|
« Ответ #48 : 23-12-2009 11:10 » |
|
Dana, инкремент (декремент) выполняется в конце цикла
не поняла?
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Dana
|
|
« Ответ #49 : 23-12-2009 11:12 » |
|
Да.
по сути тогда грубо говоря i--(++) и есть запомнить получившееся значение и к нему прибавлять или вычитать?
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Sla
|
|
« Ответ #50 : 23-12-2009 11:16 » |
|
сначала прибавить(вычесть), а потом запомнить
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Dana
|
|
« Ответ #51 : 23-12-2009 11:22 » |
|
Спасибо Sla, Вад. Дошло наконец-то
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Sla
|
|
« Ответ #52 : 23-12-2009 11:24 » |
|
Offtopic: фух, устало смахивая пот со лба
Поставлю в угол.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Dana
|
|
« Ответ #53 : 24-12-2009 11:24 » |
|
Всем привет! Вот и новое задание, но я хочу его сделать сама без помощи инета(а так хочется:-)) )
Вывести на экран двоичный код однобайтового числа типа char.
С чего Вы бы начали?
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #54 : 24-12-2009 11:44 » |
|
С чего Вы бы начали?
Я бы начал с ТЗ, покажи мне пример, как выглядит "Выведенный на экран двоичный код однобайтового числа типа char" ? В хекс-виде ? В 1 и 0 ?
|
|
|
Записан
|
|
|
|
Dana
|
|
« Ответ #55 : 25-12-2009 06:15 » |
|
С чего Вы бы начали?
Я бы начал с ТЗ, покажи мне пример, как выглядит "Выведенный на экран двоичный код однобайтового числа типа char" ? В хекс-виде ? В 1 и 0 ? Что значит ТЗ? Как я могу показать. Единственное до чего додумалась (только описать не могу) Сделать это можно при помощи сдвига и маски
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #56 : 25-12-2009 06:57 » |
|
ну, то есть, вывести в виде единиц и нулей, как я понял )
Да, тогда завести однобитовую маску и "сканировать" её байт, выводя нужный символ. После 8-го сдвига маска обнулится, это будет сигнал об окончании сканирования
|
|
|
Записан
|
|
|
|
Dana
|
|
« Ответ #57 : 25-12-2009 07:22 » |
|
Мне надо составить неформализиванный алгоритм Потом блок схему со словами потом блок схему ориентрованную на СИ а уже затем программу Как можно составить неформализованный алгоритм? 1. Считать симовл с клавиатуры 2. Проверить знак символа, если - то преобразовать в доп. код число 3. Сформировать однобитовую маску 4. Проверить число (доп.код) побитово сформированной маской (цикл), выводя на экран каждый бит сдвигая вправо каждый раз 5. После 8 сдвига конец. Похоже?
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
Sla
|
|
« Ответ #58 : 25-12-2009 07:50 » |
|
Dana, ТЗ = техническое задание
Вывести на экран двоичный код однобайтового числа типа char.
Приведи пример.
Я, например, твое задание понял так: число типа char представляет собой однобайтовое число Вывести на экран двоичный код - ввели 6 (однобайтовое число типа char) вывели на экран 110 (т.е. преобразовали в символьный эквивалент двоичного кода)
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Dana
|
|
« Ответ #59 : 25-12-2009 07:54 » |
|
да, но еще я могу ввести -6 я так поняла если сдвигами делать то можно не проверять есть ли знак у числа
|
|
|
Записан
|
Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
|
|
|
|