Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
C/C++ - [решено] Borland C++5.02 задача на массив

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


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

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


Нужна помощь!!(( У меня есть целочисленный массив X[100] ,который был получен с помощью генератора случайных чисел.

Как выбрать без повторения все числа, встречающиеся более одного раза. Сформировать из них массив B[], упорядочить элементы по убыванию и вывести на экран исходный и упорядоченный массивы......?????

Отправлено: 19:09, 04-07-2011

 

В Поисках Истины


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

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


zakaru4ka, Для начала продумайте как бы Вы это сделали "логически"... Набросайте блок - схемы, продумайте весь процесс, ну а далее переведите все это в код... Если что то не получится, Вам помогут, но делать за Вас вряд ли станут!

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 07:36, 05-07-2011 | #2



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

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


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


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

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


сделала первую часть, дальше не знаю (Получить элементы целочисленного массива X[100] с помощью генератора случайных чисел). Допишите пожалуйста!!

Код: Выделить весь код
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#define n 100
void swap(int *x, int *y)
{
int t=*x;
*x=*y;
*y=t;
}


void main(void)
{
int i,a[n],n1=n;
float t;
clock_t beg,end;
clrscr();
srand((unsigned)time(0));
puts(" isxodnuy massiv:");
for (i=0; i<n; i++)
{
a[i]=100 + rand() % n;
printf("%d\t",a[i]);
}

getch();
}

Последний раз редактировалось Drongo, 05-07-2011 в 19:03. Причина: Пожалуйста используйте тег [code] - #


Отправлено: 13:57, 05-07-2011 | #3


Аватара для Drongo

Будем жить, Маэстро...


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

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


Цитата zakaru4ka:
Как выбрать без повторения все числа, встречающиеся более одного раза. »
Я не совсем понял условие. Можете немного пояснить, что значит без повторения ?

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 19:07, 05-07-2011 | #4


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


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

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


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


Код: Выделить весь код
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#define n 100
 void swap(int *x, int *y)
{
        int t=*x;
   *x=*y;
  *y=t;
}
 
void bubble(int a[], int n1)
{
	int i,j;
	for ( i=0; i<n1; i++)
		for( j=0; j<n1-i-1; j++)
			if (a[j] > a[j+1])
			swap(&a[j], &a[j+1]);

}

void main(void)
{
randomize();
   int i,j,a[n],b[n],n1=n;
   float t;

        clrscr();
    puts("  isxodnuy massiv:");
   for (i=0; i<n; i++)
   {
      a[i]=random(60);
      printf("%d\t",a[i]);
   }
   bubble(a,100);
     j=0;
   for (i=0; i<n; i++)
   if ((a[i]==a[i+1])&&(a[i]!=b[j-1]))
   {
   b[j]=a[i];
   j++;
   }   printf("\n");
    for (i=0; i<(j-1); i++)
    printf("%d\t",b[i]);
   getch();
}

Отправлено: 20:38, 05-07-2011 | #5


Старожил


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

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


ну насколько я понимаю для этого у вас (ли) предусмотрена функция bubble, по названию которой явно что она делает сортировку пузырьком. вот и упорядоченный массив

Отправлено: 22:11, 05-07-2011 | #6


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


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

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


нет, я имею ввиду чтобы на экран выводился исходный массив, упорядоченный и числа, встречающиеся более одного раза.


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

Отправлено: 22:50, 05-07-2011 | #7


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


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

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


вопрос зактрыт. задача решена

Отправлено: 17:17, 06-07-2011 | #8


Аватара для Drongo

Будем жить, Маэстро...


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

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


zakaru4ka, решение запостите?

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 17:35, 06-07-2011 | #9


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


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

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


Код: Выделить весь код
#include <stdio.h>  //подключение файла с объявлением стандартных функций файлового ввода-вывода;
#include <string.h>
#include <conio.h>  //консольный ввод/вывод
#include <time.h>
#include <stdlib.h>
#define n 100     //по умолчанию 100 элементов
 void swap(int *x, int *y)
   {
         int t=*x;
        *x=*y;
         *y=t;
                         }
 
void bubble(int a[], int n1)  //пузырьковая сортировка
{
	int i,j;
	for ( i=0; i<n1; i++)
		for( j=0; j<n1-i-1; j++)
			if (a[j] > a[j+1])
			swap(&a[j], &a[j+1]);

                                                                                 }

void main(void)
{
randomize();
   int i,j,a[n],b[n],n1=n;
   float t;

        clrscr();
    puts("  isxodnuy massiv:");   //вывод на экран
   for (i=0; i<n; i++)
   {
      a[i]=random(60);
      printf("%d\t",a[i]);
   }
   bubble(a,100);
     j=0;
   for (i=0; i<n; i++)
   if ((a[i]==a[i+1])&&(a[i]!=b[j-1]))
   {
   b[j]=a[i];
   j++;
   }  
   printf("\n");
   for (i=0; i<n; i++)
    printf("%d\t",a[i]);
    printf("\n");
    for (i=0; i<(j-1); i++)
    printf("%d\t",b[i]);
   getch();
}

Отправлено: 18:55, 07-07-2011 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Графика в Borland C++ 3.11 DaRiYs Программирование и базы данных 0 08-06-2010 21:42
VBS/WSH/JS - задача. инфа. массив одномерный. Triz Программирование и базы данных 3 18-05-2009 06:58
C/C++ - Вектора в Borland C++ 3.0 DaRiYs Программирование и базы данных 3 20-02-2009 03:42
Прочие - Borland Pascal 7human7 Программное обеспечение Windows 3 09-01-2009 13:10
Borland Pascal 7.0 noname00.pas Программирование и базы данных 4 12-12-2001 15:15




 
Переход