Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Ламерские" вопросы, задаем здесь элементарные вопросы 
:(
    Опции темы
OrionRussia
Дата 19.8.2010, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 19.8.2010

Репутация: нет
Всего: нет



 smile  Я не так давно стал учиться языку программирования, но так мы не писали, даже близко. У меня классы библиотек - 

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

Не так должно выглядеть.

Вот пример предущего решения другой задачи 

           
Код

 int[,] mass = new int[5, 10];
            int count = 0;
            Random rnd = new Random();
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    mass[i, j] = rnd.Next(-10, 10);
                    if (mass[i, j] < 0)
                    {
                        count++;
                    }
                }
            }
            int[] B = new int[count];
            Console.WriteLine("Исходный массив\n");
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    Console.Write("{0,3}\t", mass[i, j]);
                }
                Console.WriteLine();
 
            }
            Console.WriteLine("Для вывода одномерного массива, нажмите ENTER ");
            Console.ReadLine();
            
            count = 0;
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    if (mass[i, j] < 0)
                    {
                        B[count] = mass[i, j];
                        Console.Write("{0, 4}", B[count]);
                        count++;
                    }                
                }
            }
            
          Console.ReadLine();


PM MAIL   Вверх
OrionRussia
Дата 19.8.2010, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 19.8.2010

Репутация: нет
Всего: нет



Люди, ёк, срочно надо, подскажите. 
PM MAIL   Вверх
gambit
Дата 19.8.2010, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



в чем вопрос то???
PM MAIL ICQ Skype   Вверх
OrionRussia
Дата 19.8.2010, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 19.8.2010

Репутация: нет
Всего: нет



На странице 57 в этой теме. 

Мне нужна ваша помощь. Есть задачка следующего содержания: Для матрицы B(N, M) (N<=10, M<=10), заполненный случайными целыми числами, найти сумму элементов каждого столбца . Сформировать массив D из найденных сумм. Вывести матрицу B и массив D. 

Матрицу 10х10 я сделал. А вот сумму каждого столбца посчитать не могу. Вот, что я сделал и на чём застрял.  

Код

int[,] mass = new int[10, 10];
            Random rnd = new Random();
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    mass[i, j] = rnd.Next(-10, 10);
                }
            }
            Console.WriteLine("Исходный массив\n");
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    Console.Write("{0,3}\t", mass[i, j]);
                }
            }
            

          Console.ReadLine();


Это сообщение отредактировал(а) OrionRussia - 19.8.2010, 16:37
PM MAIL   Вверх
gambit
Дата 19.8.2010, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



OrionRussia

Код

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

namespace ConsoleApplication2
{
    class Program
    {
        static int[,] B = new int[10, 10];
        static int[] D = new int[10];

        static void Main(string[] args)
        {
            CreateMasB();
            PrintMasB();
            CalcSummColumn();
            PrintMasD();            
            Console.ReadLine();
        }

        /// <summary>
        /// Вычисляем сумму столбцов
        /// </summary>
        private static void CalcSummColumn()
        {
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    D[j] += B[i,j];
                }
            }
        }

        /// <summary>
        /// выводим на экран массив D
        /// </summary>
        private static void PrintMasD()
        {
            Console.WriteLine();
            Console.WriteLine("Сумма столбцов");
            for (int i = 0; i < 10; i++)
            {
                Console.Write("{0,3}\t", D[i]);
            }
        }

        /// <summary>
        /// выводим на экран массив B
        /// </summary>
        private static void PrintMasB()
        {
            Console.WriteLine("Исходный массив");
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    Console.Write("{0,3}\t", B[i, j]);
                }
                Console.WriteLine("{0,3}\t", B[i, 9]);
            }
        }

        /// <summary>
        /// заполняе  B значениями
        /// </summary>
        private static void CreateMasB()
        {
            Random rnd = new Random();
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    B[i, j] = rnd.Next(-10, 10);
                }
            }
        }
    }
}


Ты только учти
Цитата(OrionRussia @  19.8.2010,  16:35 Найти цитируемый пост)
B(N, M) (N<=10, M<=10),


у тебя (ну и у меня сейчас, ибо писал на ходу) кол-во N и M мало того, что не удовлетворяет заданию, так они еще и в программе зашиты "магическими цифрами". По заданию понятно, что N и M вводит пользователь - доделай это

Добавлено @ 17:13
СТОП. Где то там ошибка. Домой с работы доеду, посмотрю подробнее

Добавлено через 5 минут и 38 секунд
UPD исправил, код обновил

Добавлено через 8 минут и 25 секунд
OrionRussia, а что ты кипишуешь??? Тебе же nmn дал готовый код.

Это сообщение отредактировал(а) gambit - 19.8.2010, 17:16
PM MAIL ICQ Skype   Вверх
OrionRussia
Дата 20.8.2010, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 19.8.2010

Репутация: нет
Всего: нет



Цитата(gambit @ 19.8.2010,  17:10)
Добавлено @ 17:19
OrionRussia, а что ты кипишуешь??? Тебе же nmn дал готовый код.

Во-первых, такого я ещё не знаю, я его не понял, что в этом коде за что отвечает. Во-вторых, "магических чисел" не писал, как мне кажется, там же видно, что это Random. В-третьих, с помощью малямс опоздали. Но, всё равно спасибо!
PM MAIL   Вверх
ДобренькийПапаша
Дата 20.8.2010, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: 3
Всего: 7



Что такое Check-in и Check-out в TFS? И каким образом Check-out может блокировать работу других пользователей?


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
wester
Дата 23.8.2010, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 3
Всего: 13



Доброго времени суток!
как можно послать произвольную команду ftp - серверу и прочитать ответ ? 
PM MAIL   Вверх
mrbrooks
Дата 23.8.2010, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 17
Всего: 306



Цитата(wester @  23.8.2010,  09:03 Найти цитируемый пост)
как можно послать произвольную команду ftp - серверу и прочитать ответ ?  

держи удочку. 

"Сетевое программирование для профессионалов", глава 5, раздел FTP.

рыбу лови сам  smile 
PM MAIL   Вверх
wester
Дата 23.8.2010, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 3
Всего: 13



mrbrooks
рыбка хороша, хотя немного усохла по дороге.
а нет другого способа послать произвольную команду серверу с помощью класса WebClient ? использовать сокеты конечно круто, но хочется немного абстрактней
PM MAIL   Вверх
OrionRussia
Дата 24.8.2010, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 19.8.2010

Репутация: нет
Всего: нет



Товарищи! Что нет так у меня в программе, почему не компилируется?
Код

namespace ConsoleApplication2
{
    class TCar
    {
        string mark;
        int year;
        public TCar() { mark = ""; }
        public TCar(int Year, string Mark)
        {
            this.year = Year;
            this.mark = Mark;
        }

        public void setCar(string Mark, int Year)
        {
            this.mark = Mark;
            this.year = Year;
        }


        public string GetMark
        {
            set { if (mark == "")mark = value; }
            get { return (mark); }
        }
        public int GetYear
        {
            set
            {
                try
                {
                    if (value < 1970 || value > 2010)
                        throw new ArgumentOutOfRangeException("value", value.ToString(), "Ошибка!\n Машина не должна быть старше 1970 года.");
                    year = value;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            get { return (year); }
        }

        class Program
        {
            static void Main(string[] args)
            {
                TCar car = new TCar();
                for (; ; )
                {
                    try
                    {

                        Console.WriteLine("Укажите марку автомобиля.");
                        string buf = Console.ReadLine();
                        string Mark = Convert.ToString(buf);
                        Console.WriteLine("Укажите год выпуска автомобиля.");
                        int god = int.Parse(Console.ReadLine());
                        // int Year = Convert.ToInt32(god);
                        car.setCar(buf, god);
                        Console.WriteLine("");
                        Console.WriteLine("{0}" + " " + "{1}", car.GetMark, car.GetYear);
                        break;
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("Ошибка при вводе!");

                    }
                }

                TCar c1 = new TCar();
                TCar c2 = new TCar(1993, "BMV");
                Console.WriteLine("Год выпуска : {0}\n" + "Марка автомобиля: {1}", c1.GetYear + " " + c2.GetMark);



                Console.ReadLine();
            }
        }
    }
}


PM MAIL   Вверх
gambit
Дата 24.8.2010, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



OrionRussia, у меня скомпилировалась. Что у тебя пишет?

Добавлено через 8 минут и 47 секунд
OrionRussia, падение по эксепшену на строке:
Код

Console.WriteLine("Год выпуска : {0}\n" + "Марка автомобиля: {1}", c1.GetYear + " " + c2.GetMark);

хотя результат вывел - вывел и упал.
_________________________________________
Далее, ты в конструкторе Car сделал:
Код

public TCar(int Year, string Mark)
        {
            this.year = Year;
            this.mark = Mark;
        }

У тебя в свойстве проверка, а в конструкторе, так просто присваивание. По этому код
Код

if (value < 1970 || value > 2010)
                        throw new ArgumentOutOfRangeException("value", value.ToString(), "Ошибка!\n Машина не должна быть старше 1970 года.");

не отрабатывает, по сути сейчас он недостижим.

Либо в конструкторе присваивай значение свойству, либо используй контракты кода. Первое лучше.

Добавлено через 10 минут и 7 секунд
ааааааа, ты присваиваешь не в конструкторе, а в отдельном методе
Код

        public void setCar(string Mark, int Year)
        {
            this.mark = Mark;
            this.year = Year;
        }

но суть не меняется, здесь тоже самое
PM MAIL ICQ Skype   Вверх
OrionRussia
Дата 24.8.2010, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 19.8.2010

Репутация: нет
Всего: нет



Так что конкретно изменить? Я не въезжаю, мозг уже поплыл. Все бумажки пересмотрел, искал решение проблемы, допетрить не могу

Это сообщение отредактировал(а) OrionRussia - 24.8.2010, 11:58
PM MAIL   Вверх
mrbrooks
Дата 24.8.2010, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 17
Всего: 306



Цитата(wester @  23.8.2010,  17:54 Найти цитируемый пост)
рыбка хороша, хотя немного усохла по дороге.

основы не усохнут никогда.

Цитата(wester @  23.8.2010,  17:54 Найти цитируемый пост)
а нет другого способа послать произвольную команду серверу с помощью класса WebClient ?

чем не устраивает FtpWebRequest?
PM MAIL   Вверх
gambit
Дата 24.8.2010, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



OrionRussia, так что не так то? Ты сказал что не компилиться. Я ответил что все ок, но в ходе работы выяснились 2 косяка. Причем один них сказал как изменить.

Добавлено через 10 минут и 44 секунды
Цитата(OrionRussia @  24.8.2010,  11:57 Найти цитируемый пост)
Так что конкретно изменить?

ну давай пробежимся по диаганали

Код

public TCar(int Year, string Mark)
        {
            this.year = Year;
            this.mark = Mark;
        }

про это уже сказал.

Код

if (value < 1970 || value > 2010)

магические числа

Код

set { if (mark == "")mark = value; }

а если mark = null???
Код

catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }

обычно делают осмысленные эксепшены, кроме того, какой смысл кинуть его, и в след строчке поймать? Это только замедляет работу.
Код

int god

старайся переменные обзывать по англ языку.

Цитата(gambit @  24.8.2010,  11:25 Найти цитируемый пост)
 падение по эксепшену на строке:

Код

Console.WriteLine("Год выпуска : " + c1.GetYear + "\n" + "Марка автомобиля: " + c2.GetMark);

так не падает

кстати, вселенская загадка, что же здесь происходит
Код

TCar c1 = new TCar();
                TCar c2 = new TCar(1993, "BMV");
                Console.WriteLine("Год выпуска : " + c1.GetYear + "\n" + "Марка автомобиля: " + c2.GetMark);
                


Добавлено через 11 минут и 25 секунд
и это почти не вникая в код((((
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1068 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.