Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 10.03.2011, 00:04   #1 (permalink)
Ирина92
Новичок
 
Регистрация: 09.03.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Решение задания по С#, исправьте, что не так.

вот задание: определить класс с нестатическими методами (ьез использования модификатора static):
- заполнение массива случайными числами
- вывода элементов массива построчно на экран
- определения признака положительности числа, входным параметров метода является переменная, содержащее число, входным параметром с модификатором out является переменная, содержащая признак положительности числа.
Используя разработанные методы создать массив массивов целых чисел из 5 строк переменной длины. Длина каждой строки задается пользователем с клавиатуры. Заполнить исходный массив случайными числами в диапазоне -32..-57. Скопировать все положительные числа в одномерный массив. Размер одномерного массива должен соответствовать количеству положительных чисел в исходном массиве. Исходный и сфомированный массивы вывести на экран.


А вот сама программа.

using System;

public class A
{
public static int CheckOut(out int Valout, int Valin) // функция определения признака положительного числа
{
Valout=0; // обнуляем выходную переменную
if(Valin>=0) Valout=1; // объявляем условие для изменения выходной переменной
return 0;
}

public static void Main()
{

int a=0; // объявляем целочисленную переменную а и обнуляем её
int sm=0, r=0; // sm - для подсчёта числа положительных чисел, r - признак положительного числа

int[] subMassive= new int[5];// массив для ввода длин строк с клавиатуры

// заполнение массива с клавиатуры пользователем
for(a=0; a<subMassive.Length; a++)
{
Console.Write("\n Input please quantity of elements in line for massive: "); //вывод на экран "Введите количество элементов строки массива"
subMassive[a]= Convert.ToInt32(Console.ReadLine()); // перевод введёного строкового значения в числовое
}
Console.WriteLine("\n");//отступ от написанного в две строки

// создаём рваный массив
int [][] MainMassive = new int[5][];
MainMassive [0] = new int[subMassive[0]];
MainMassive [1] = new int[subMassive[1]];
MainMassive [2] = new int[subMassive[2]];
MainMassive [3] = new int[subMassive[3]];
MainMassive [4] = new int[subMassive[4]];

//создание генератора случайных чисел
Random realRnd = new Random();

// диапазон случайных чисел [min,max]
int min = -52, max=37;

// заполнение двумерного массива случайными числами
for (a=0;a<MainMassive.Length;a++)
{
for(int q=0; q<MainMassive[a].Length; q++)
MainMassive[a][q] = realRnd.Next(min,max);
}

//вывод двумерного массива построчно на экран
Console.WriteLine(" Massive of random numbers: \n");// вывод на экран сообщения "Массив случайных чисел"
for (a=0;a<5;a++)
{
foreach(int t in MainMassive[a])
Console.Write(" "+ t);

Console.WriteLine();
}

//подсчёт чётных чисел в массиве
int m=0;
for (m=0; m<5; m++)
{
foreach(int y in MainMassive[m])
{
CheckOut(out r, y);//проверка значений в массиве случайных чисел "на положительность"
sm+=r;
}
}

Console.WriteLine("\n Quantity of positive numbers in massive: "+ sm +"\n\n");// вывод количества положительных чисел в двумерном массиве

int[] sum = new int[sm];// создание массива размером по количеству положительных чисел

int z=sm;// объявления целочисленной переменной для обработки положительных чисел двумерного массива
sm=0;
for (m=0; m<5; m++)
{
foreach(int x in MainMassive[m])
{
if( x>=0 ){
sum[sm]=x;sm++;
}
}
}

//вывод массива с положительными числами на экран
Console.WriteLine(" Massive of positive numbers: \n");// вывод на экран сообщения "Массив положительных чисел"

for(int c=0; c<z;c++)
Console.Write(" " + sum[c]);

Console.WriteLine("\n\n\n\n Please press <Enter> to exit");// вывод на экран сообщения "Нажмите клавишу Энетр для выхода"

Console.Read();// чтобы окно не закрывалось

}

}
Ирина92 вне форума   Ответить с цитированием

Старый 10.03.2011, 00:04
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Лучше не ломать голову зря, а прочитать уже готовые ответы

Три задания по Pascal'ю
Курсовые задания по информатике в VB
Задания по работе с палитрой компонентов Additional. Delphi
Паскаль. Исправьте, пожалуйста
Исправьте, пожалуйста, программу
Назначение задания для выполнения в определённое время

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 19:20.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.