Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2009, 15:39   #1
wrangler
Пользователь
 
Регистрация: 20.10.2009
Сообщений: 12
По умолчанию не могу решить

помогите кто может
задача такая: Решите каждую задачу тремя способами - используя операторы цикла while, do while и for
мне надо: вывести только отрицательные четные числа из диапазона от А до В (А<=В);
я начал и сразу запаролся на while))
вот:
Код:
class Program
    {
        static void Main(string[] args)
        {
            Console.Write("a=");
            int a = int.Parse(Console.ReadLine());
            Console.Write("b=");
            int b = int.Parse(Console.ReadLine());

            int c=0;
            Console.Write("while: ");

            if (a >= 0) Console.Write("net otrizatel'nih chisel ");
                else 
            while (a <= b)
            { c=a%2;  проверка на четность
            if (c != 0) ; //это  остаток я проверял
              if (a<=0); 
                    Console.Write(" " + a);
                    a += 1;
                
                }
            }
            }
               }
мне бы для while написать а там уж я сам

Последний раз редактировалось Stilet; 20.10.2009 в 16:17.
wrangler вне форума Ответить с цитированием
Старый 20.10.2009, 17:26   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

насколько я понимаю это не совсем С или С++.
Для С++
Код:
        void main( )
        {
            int a, b, c, i=0;                       //Объявление переменных целыми
            cout<<"Введите a"<<endl; // Запрос на ввод числа а
            cin>>a;                          //Сохранение введенного с клавиатуры числа а
            cout<<"Введите b "<<endl; // Запрос на ввод числа b
            cin>>b;                          //Сохранение введенного с клавиатуры числа b

            while (a != b)                 // До тех пор пока а не равно b
            { 
            c=a;                            //Переменной с присваиваем текущее значение а
              if ((c<0) && (c%2==0)) //Если с меньше 0 и с делится без остатка на 2
              {
              cout<<c<<endl;           // Выводим на экран с
              i++;                           // и фиксируем наличие отрицательного элемента
              }
              a++;                          // Увеличиваем а на 1 (или если задан шаг , то вместо 1, д.б он
             }
              if(i==0)                     // Если Сч наличия отрицательных элементов после цикла равен 0
              cout<<"net otrizatel'nih chisel "<<endl;  //Выводим сообщение
       }
Это если шаг изменения числа равен 1
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Sweta; 21.10.2009 в 16:53.
Sweta вне форума Ответить с цитированием
Старый 21.10.2009, 16:28   #3
wrangler
Пользователь
 
Регистрация: 20.10.2009
Сообщений: 12
По умолчанию

Это visual studio cи шарп
wrangler вне форума Ответить с цитированием
Старый 21.10.2009, 16:36   #4
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Cи шарп я не знаю. Поэтому могу только прокомментировать, что написано на С++, а дальше переводите.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 21.10.2009, 16:43   #5
wrangler
Пользователь
 
Регистрация: 20.10.2009
Сообщений: 12
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace lab3v14zad3
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("a=");
            int a = int.Parse(Console.ReadLine());
            Console.Write("b=");
            int b = int.Parse(Console.ReadLine());
            
            
            Console.Write("while: ");

          
            while (a <= b)
            {
                
                if ((a < 0) && (a % 2 == 0)) ;
                
                Console.Write(" " + a);
                 a += 1;
            }
                
                }
            }
            }

изменил на этот код, выводит все цифры на отрезке и положительные и нечетные, гдн ошибка скажите кто-нить

Последний раз редактировалось Sazary; 21.10.2009 в 22:52.
wrangler вне форума Ответить с цитированием
Старый 21.10.2009, 16:50   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
if ((a < 0) && (a % 2 == 0)) ;

Console.Write(" " + a);
попробуй исправить на
Код:
if ((a < 0) && (a % 2 == 0)) Console.Write(" " + a);
а то у вас if разорван
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.10.2009, 16:59   #7
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Если в Си шарп ; обозначает тоже что и в С++, а именно пустая операция, то ее просто надо убрать.
Но я думаю , что Вам уже правильно подсказали.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 21.10.2009, 17:11   #8
wrangler
Пользователь
 
Регистрация: 20.10.2009
Сообщений: 12
По умолчанию

да спс ребят, все получилось, я так понял если ставить ; то это уже к оператору while относилось и поэтому выдавало просто числа с а до б
wrangler вне форума Ответить с цитированием
Старый 21.10.2009, 17:19   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если после if(<условие>); то просто ничего не делается...после условия надо писать или оператор который должен выполнятся по условия...либо блок операторов {}
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.10.2009, 17:19   #10
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Опять опередили!!!
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив на могу решить enot27 Паскаль, Turbo Pascal, PascalABC.NET 4 06.12.2008 09:35
Не могу решить naMazi Microsoft Office Access 2 08.05.2008 06:37