Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] С# проблема с приведением типов

Ответить
Настройки темы
C/C++ - [решено] С# проблема с приведением типов

Аватара для Hector

Misanthrope


Сообщения: 474
Благодарности: 38


Конфигурация

Профиль | Отправить PM | Цитировать


есть, задание
Цитата:
Дано n вещественных чисел. Определить, образуют ли они арифметическую последовательность
вот попытка решения
PHP код: Выделить весь код

using System;
using System.Collections.Generic;
using System.Text;

namespace lab3_v21
{
    class 
Program
    
{
        static 
void Main()
        {
            
Console.Write("Количество цифр ");
            
int n Convert.ToInt16(Console.ReadLine());
            
double[] line=new double[n];
            
int i=0;
            for (
0ni++)
            {
                
Console.Write("{0}-я цифра ",i+1);
                
line[i] = Convert.ToDouble(Console.ReadLine());
            }
            
bool flag false;
            
double razn line[1] - line[0]; // находим разность между членами ряда, для последующего сравнения
            
for (0n-1i++)
            {
                if (
line[1] - line[i] !=razn)
                {
                    
Console.WriteLine("Последовательность не является возрастающей");
                    
flag true;
                    break;
                }
            }
            if (!
flag)
            
Console.WriteLine("Последовательность возрастающая");
           
            
Console.ReadLine();
        }
    }


проблема в том, при вводе цифр 0,1 - 1 - 1,9 результат Последовательность не является возрастающей хотя должно быть наоборот
если вводить целые числа, все работает нормально, а с вещественными через раз, что поправить?

-------
Information must be free!
Нет границ, есть только препятствия


Отправлено: 21:57, 04-11-2011

 

Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


если заменить double на decimal, то будет работать

Отправлено: 04:24, 05-11-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Hector

Misanthrope


Сообщения: 474
Благодарности: 38

Профиль | Отправить PM | Цитировать


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

-------
Information must be free!
Нет границ, есть только препятствия


Отправлено: 12:46, 05-11-2011 | #3


Аватара для SeRgikON

Новый участник


Сообщения: 34
Благодарности: 1

Профиль | Отправить PM | Цитировать


ошибка округления в double, связанная с формой представления числа в этом типе..если интересно тут например почитай

Отправлено: 17:28, 05-11-2011 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] С# проблема с приведением типов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Использование - Windows 7 преобразование типов лицензий Darth_Moul Лицензирование продуктов Microsoft 9 31-08-2010 10:18
различия типов процессоров alexandri Хочу все знать 14 24-01-2005 14:43
Проблемма преобразования типов в C++ sich Программирование и базы данных 3 09-08-2004 17:36
Несовпадение типов Crew Программирование и базы данных 1 26-03-2003 01:00
Перечисление объектов типов vasketsov Программирование и базы данных 3 24-04-2002 17:32




 
Переход