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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2011, 19:06   #1
Uniskull
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
Вопрос Ложный результат

Здравствуйте!

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

Вот код:

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

namespace xxxyyyzzz
{
    class Program
    {
        static float F(int v1, int v2, int v3, int v4)
        {
            return v1 + v2 + v3 + v4;
        }
        static void Main(string[] args)
        {
            int i=0;
            int j=0;
            int k=0;
            int m=0;
            while (true)
            {
                Console.WriteLine("Введите 4 целых чисел:");
                string s1 = Console.ReadLine();
                i = int.Parse(s1);
                string s2 = Console.ReadLine();
                j = int.Parse(s2);
                string s3 = Console.ReadLine();
                k = int.Parse(s2);
                string s4 = Console.ReadLine();
                m = int.Parse(s4);
                Console.WriteLine("Результат: {0}", F(i, j, k, m));
            }
            
        }
    }
}
А вот результат:



Что я сделал не так?
Компьютерный форум - World-PC.NET
Uniskull вне форума Ответить с цитированием
Старый 25.09.2011, 19:38   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Ты парсишь к из s2,а не из s3.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 25.09.2011, 20:10   #3
Uniskull
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
По умолчанию

Вот спасибо я бы додумался(я раньше программировал в Delphi) но просто не заметил ошибку
Компьютерный форум - World-PC.NET
Uniskull вне форума Ответить с цитированием
Старый 25.09.2011, 20:18   #4
Uniskull
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
По умолчанию

Еще вопрос:

Я немного усложнил программу

Код:
................................
static float F(int v1, int v2, int v3, int v4)
        {
            return  (v1 + v2 + v3 + v4)/4;
        }
................................
Почему в результате у меня целое число?
Вроде функция должна возвращать float число
Компьютерный форум - World-PC.NET
Uniskull вне форума Ответить с цитированием
Старый 25.09.2011, 20:45   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

возвращается то float. а вот операция деления выполняется как целочисленная. Ведь в операции участвуют все ЦЕЛЫЕ операнды!.

попробуйте так:
Код:
static float F(int v1, int v2, int v3, int v4)
        {
            float aSum = (v1 + v2 + v3 + v4);
            return  aSum/4;
        }
или так:
Код:
static float F(int v1, int v2, int v3, int v4)
        {
           return  (v1 + v2 + v3 + v4)/4.0m;
        }
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.09.2011, 21:12   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

По логике:
Код:
return  (v1 + v2 + v3 + v4)/4.0;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.09.2011, 21:37   #7
Uniskull
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
По умолчанию

Код:
return (v1 + v2 + v3 + v4)/(float)4;
А как вам вот такой вариант?
Компьютерный форум - World-PC.NET
Uniskull вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
результат запроса Ko$tello БД в Delphi 7 18.04.2012 12:13
Результат теста IQ Fog Свободное общение 40 02.02.2011 20:57
результат запроса varyat Microsoft Office Access 3 02.12.2010 18:02
Пропадает результат Никита_П Общие вопросы C/C++ 4 19.02.2010 20:13
Не тот результат! Dawystrik Общие вопросы Delphi 3 22.03.2009 09:50