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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2009, 11:21   #1
OnlySergio
Пользователь
 
Регистрация: 05.10.2009
Сообщений: 12
По умолчанию Задачи на массивы в C#

Добрый день обитатели этого форума.Помогите пожалуйста в решении задач на массивы, так как я не могу с ними разобратся, хоть задачи и элементарные
1.В массиве кол-во элементов в котором больше трех,найти три наименьших элемента и их номера.
2.Найти в массиве среднее арифмитическое, минимальное и максимальное значение.
3.Даны два неубывающих массива x и y. Найти их пересечение , то есть неубывающий массив z,содержащий их общие элементы,причем кратность элементов равна кратности в массиве z равна минимуму его кратностей в массивах x и y.
OnlySergio вне форума Ответить с цитированием
Старый 05.10.2009, 12:12   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Второе задание,написал на С++,но думаю переложишь на С#
Код:

#include <iostream>
using namespace std;
//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
	int n=5;
	float mas[5];
	float sred,min,max;
	sred=0;
	for(int i=0;i<n;i++)
		{
			cout<<"Enter mas["<<i+1<<"]";
			cin>>mas[i];
			sred+=mas[i];
			cout<<'\n';
		}
	max=mas[0];
	min=mas[0];
	for(int i=1;i<n;i++)
		{
			if(mas[i]>max)
				max=mas[i];
			if(mas[i]<min)
				min=mas[i];
		}
	cout<<" Srednearif. "<<sred<<"\n Max "<<max<<"\n Min"<<min;
	return 0;
}
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 05.10.2009, 12:32   #3
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

В третьем пересечение ясно как сделать,только насчёт кратности замудрили..
Второе задание,по идеи надо было писать 3 цикла,я решил поизголяться,не знаю как будет работать)
Код:
#include <iostream>
using namespace std;
//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
	int n=5;
	float mas[5];
	float min1,min2,min3;
	
	for(int i=0;i<n;i++)
		{
			cout<<"Enter mas["<<i+1<<"]";
			cin>>mas[i];
			cout<<'\n';
		}
	min1=mas[0];
	min2=mas[0];
	min3=mas[0];
	for(int j=0;j<3;j++)
	{
	for(int i=1;i<n;i++)
		{	
			//для первого
			if(mas[i]<min1) min1=mas[i];
			//для второго
			if(mas[i]<min2 && mas[i]!=min1) min2=mas[i];
			//для третьего
			if(mas[i]<min2 && mas[i]!=min1 && mas[i]!=min2) min3=mas[i]
		}
	}
	cout<<" Min1"<<min1<<"\n min2 "<<min2<<"\n Min3 "<<min3;
	return 0;
}
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 29.07.2010, 15:21   #4
Faba
 
Регистрация: 10.02.2009
Сообщений: 3
По умолчанию

2-ое на C# проще делается =)
Код:
using System.Linq;
...
int[] array = new int[] { 3, 4, 3, 44, 1, 7, 9, 8 };
int min = array.Min();
int max = array.Max();
double avg = array.Average();
Faba вне форума Ответить с цитированием
Старый 01.08.2012, 12:53   #5
Nursultan123
Новичок
Джуниор
 
Регистрация: 01.08.2012
Сообщений: 1
По умолчанию Мой ответ на 1 задачу (C#)

Код:
 static void Main(string[] args)
        {
            int b = 0;
            while (true)
            {
                Console.WriteLine("Vvedite razmer massiva");
                b = Convert.ToInt32(Console.ReadLine());
                if (b > 3) break;  
            }
            int[] mass = new int[b];
            var random = new Random();
            for (int i = 0; i < b; i++)
                mass[i] = random.Next(100);
            foreach (int masselement in mass)
                Console.Write(masselement + "\t");
            int min = mass[1];
            int z = 0;
            int[] mins = new int[3];
            int[] pos = new int[3];
            for (int j = 0; j < 3; j++)
            {
                min = mass[1];
                for (int i = 0; i < b; i++)
                {
                    if (min > mass[i])
                    { min = mass[i]; z = i; }
                }
                mins[j] = mass[z];
                pos[j] = z;
                mass[z]= 99;
                Console.WriteLine();
                Console.WriteLine("Min["+(j+1)+"] = "+ mins[j] + "pos=" + (pos[j]+1));
            }
            
                Console.ReadLine();
        }

Последний раз редактировалось Nursultan123; 01.08.2012 в 12:57.
Nursultan123 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 задачи на массивы. 4sense Паскаль, Turbo Pascal, PascalABC.NET 9 17.09.2009 14:21
задачи на массивы shadow 05 Помощь студентам 1 13.05.2009 22:45
Задачи на массивы. spankyham Помощь студентам 9 09.04.2009 08:34
2 задачи на массивы(Си) Molotok Помощь студентам 5 22.12.2008 21:19
Задачи на С++.Тема:Массивы Wia Помощь студентам 7 20.12.2008 16:01