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

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

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

WWW
« Ответ #30 : 22-12-2009 12:20 » 

Похоже, теперь это заставить работать.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

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

« Ответ #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
Модератор

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

WWW
« Ответ #32 : 23-12-2009 08:04 » 

Dana, ну почему же?
давай разберем работу цикла на примере

Начальное условие j=9, i=7
j больше i
   ДА  - что-то выполняем и декрементируем j (в данном случае, вычитаем единичку) и запоминаем новое значение j и продолжаем цикл
   НЕТ - завершаем цикл.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

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

« Ответ #33 : 23-12-2009 09:00 » 

то есть символ j-- значит запоминание новое значение?
ЗЫ ссори за тупость ((
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Sla
Модератор

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

WWW
« Ответ #34 : 23-12-2009 09:10 » 

Dana, j-- это конструкция языка, которая равносильна j=j-1
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

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

« Ответ #35 : 23-12-2009 09:53 » 

Это то понятно не могу понять по какому принципу в Си идет запоминание нового значения
 

 
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Sla
Модератор

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

WWW
« Ответ #36 : 23-12-2009 09:56 » 

Это то понятно не могу понять по какому принципу в Си идет запоминание нового значения

Переведи?! (с) (Москва слезам не верит.

О каком принципе ты говоришь?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

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

« Ответ #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
Модератор

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

WWW
« Ответ #38 : 23-12-2009 10:05 » 

Dana, только честно - сама писала?

и почему недописала?

Не проверял.

зы. Напоминаю, свой код оформляй тегами
[code][/code]
Записан

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

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

WWW
« Ответ #39 : 23-12-2009 10:08 » 

теперь осталось скомпилировать и запустить Улыбаюсь

Видимо что писала сама, по крайне мере прокомментировала код. Умничка.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

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

« Ответ #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 » Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Вад
Команда клуба

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

« Ответ #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
Опытный

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

« Ответ #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 » Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Вад
Команда клуба

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

« Ответ #43 : 23-12-2009 10:42 » 

Вторая итерация будет 1 < 10. Третья - 2<10. Когда произойдёт 10 итераций, на одиннадцатой сравнение 10 < 10 даст в результате false и произойдёт выход из цикла.
Записан
Dana
Опытный

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

« Ответ #44 : 23-12-2009 11:03 » 

Тогда блок схема такая будет?

* блок-схема.jpg (259.55 Кб - загружено 681 раз.)
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Sla
Модератор

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

WWW
« Ответ #45 : 23-12-2009 11:05 » 

Dana, инкремент (декремент) выполняется в конце цикла
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

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

« Ответ #46 : 23-12-2009 11:06 » 

Вторая итерация будет 1 < 10. Третья - 2<10. Когда произойдёт 10 итераций, на одиннадцатой сравнение 10 < 10 даст в результате false и произойдёт выход из цикла.
тогда если i--, то
0<10
-1<10
-2<10
-3<10 и т.д.?
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Вад
Команда клуба

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

« Ответ #47 : 23-12-2009 11:08 » 

Да.
Записан
Dana
Опытный

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

« Ответ #48 : 23-12-2009 11:10 » 

Dana, инкремент (декремент) выполняется в конце цикла
не поняла?
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Dana
Опытный

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

« Ответ #49 : 23-12-2009 11:12 » 

Да.
по сути тогда грубо говоря i--(++) и есть запомнить получившееся значение и к нему прибавлять или вычитать?
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Sla
Модератор

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

WWW
« Ответ #50 : 23-12-2009 11:16 » 

сначала прибавить(вычесть), а потом запомнить
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

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

« Ответ #51 : 23-12-2009 11:22 » 

Спасибо Sla, Вад. Дошло наконец-то Что, съел?
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Sla
Модератор

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

WWW
« Ответ #52 : 23-12-2009 11:24 » 

Offtopic:

фух, устало смахивая пот со лба
Поставлю в угол.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

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

« Ответ #53 : 24-12-2009 11:24 » 

Всем привет!
Вот и новое задание, но я хочу его сделать сама без помощи инета(а так хочется:-)) )

Вывести на экран двоичный код однобайтового числа типа char.

С чего Вы бы начали?
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Алексей++
глобальный и пушистый
Глобальный модератор

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


« Ответ #54 : 24-12-2009 11:44 » 

С чего Вы бы начали?

Я бы начал с ТЗ, покажи мне пример, как выглядит "Выведенный на экран двоичный код однобайтового числа типа char" ? Улыбаюсь
В хекс-виде ? В 1 и 0 ?
Записан

Dana
Опытный

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

« Ответ #55 : 25-12-2009 06:15 » 

С чего Вы бы начали?

Я бы начал с ТЗ, покажи мне пример, как выглядит "Выведенный на экран двоичный код однобайтового числа типа char" ? Улыбаюсь
В хекс-виде ? В 1 и 0 ?
Что значит ТЗ?
Как я могу показать.
Единственное до чего додумалась (только описать не могу)
Сделать это можно при помощи сдвига и маски
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Алексей++
глобальный и пушистый
Глобальный модератор

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


« Ответ #56 : 25-12-2009 06:57 » 

ну, то есть, вывести в виде единиц и нулей, как я понял )

Да, тогда завести однобитовую маску и "сканировать" её байт, выводя нужный символ. После 8-го сдвига маска обнулится, это будет сигнал об окончании сканирования
Записан

Dana
Опытный

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

« Ответ #57 : 25-12-2009 07:22 » 

Мне надо составить неформализиванный алгоритм
Потом блок схему со словами
потом блок схему ориентрованную на СИ
а уже затем программу Не надо

Как можно составить неформализованный алгоритм?
1. Считать симовл с клавиатуры
2. Проверить знак символа, если - то преобразовать в доп. код число
3. Сформировать однобитовую маску
4. Проверить число (доп.код) побитово сформированной маской (цикл), выводя на экран каждый бит сдвигая вправо каждый раз
5. После 8 сдвига конец.

Похоже?  Здесь была моя ладья...
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Sla
Модератор

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

WWW
« Ответ #58 : 25-12-2009 07:50 » 

Dana, ТЗ = техническое задание

Вывести на экран двоичный код однобайтового числа типа char.

Приведи пример.

Я, например, твое задание понял так:
число типа char представляет собой однобайтовое число
Вывести на экран двоичный код - 
ввели 6 (однобайтовое число типа char)
вывели на экран 110 (т.е. преобразовали в символьный эквивалент двоичного кода)
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dana
Опытный

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

« Ответ #59 : 25-12-2009 07:54 » 

да, но еще я могу ввести -6
я так поняла если сдвигами делать то можно не проверять есть ли знак у числа
Записан

Прославься в городе - возбудишь озлобленье, а домоседом стань - возбудишь подозренье. Не лучше ли тебе, хотя б ты Хызром был, ни с кем не знаться, жить всегда в уединенье?
Страниц: 1 [2] 3 4 5 ... 7   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines