
25.12.2008, 12:17
|
|
Постоянный
Регистрация: 01.09.2007
Сообщений: 866
С нами:
9838060
Репутация:
1224
|
|
вот что значит сессия началась)))топики сразу обновились...
|
|
|

26.12.2008, 03:25
|
|
Постоянный
Регистрация: 07.01.2008
Сообщений: 591
С нами:
9653789
Репутация:
549
|
|
Помогите зделать такое :
Даны два масива A[n] и B[m]. Необходимо создать третий масив, в котором нужно собрать элементы масива В, которые не включаются в A;
Нужно работать с динамическим масивом и указателями.
На C++
|
|
|

26.12.2008, 11:46
|
|
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
С нами:
9989619
Репутация:
106
|
|
Сообщение от ZEXEL
Помогите зделать такое :
Даны два масива A[n] и B[m]. Необходимо создать третий масив, в котором нужно собрать элементы масива В, которые не включаются в A;
Нужно работать с динамическим масивом и указателями.
На C++
Код:
#include <stdio.h>
int *mas(int *B,int *A,int z,int m,int n)
{
int flag = z;
int sc = 0;
int *C;
if(flag >0)
{
C = new int[flag];
z=0;
}
for(int i=0;i<=m-1;i++)
{
for(int j=0;j<=n-1;j++)
{
if(B[i]==A[j])
{
sc++;
}
}
if(sc==0)
{
if(flag == 0)
{
z++;
}
else
{
C[z] = B[i];
z++;
}
}
else
{
sc=0;
}
}
if(flag == 0)
{
return &z;
}
else
{
return C;
}
}
int main(void)
{
int n,m,z;
printf("Input n,m ");
scanf("%d,%d",&n,&m);
int *B = new int[m];
int *A = new int[n];
int *C;
for(int i=0;i<=m-1;i++)
{
printf("Input B[%d]",i);
scanf("%d",&B[i]);
}
for(int i=0;i<=n-1;i++)
{
printf("Input A[%d]",i);
scanf("%d",&A[i]);
}
z = *mas(B,A,0,m,n);
C = mas(B,A,z,m,n);
for(int i=0;i<=z-1;i++)
{
printf("C[%d]= %d\n",i,C[i]);
}
return 0;
}
про delete забыл сам добавиш
Последний раз редактировалось St0nX; 26.12.2008 в 11:56..
|
|
|

28.12.2008, 15:17
|
|
Новичок
Регистрация: 23.11.2008
Сообщений: 1
С нами:
9192539
Репутация:
0
|
|
Помогите пожалуйста с задачами на MASM32, срочно, о цене договоримся.
ICQ: 358705314
Задачи:
1) Дана последовательность целых чисел a1,a2,.....an. Выяснить, какое число встретитьсятся раньше - положительное или отрицательное.
2) Дана последовательность действительных чисел a1,a2....an. Выяснить, будет ли она возрастающей.
Здесь, как я понимаю идет работа с сопроцессором.
3)В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов.
Комментарии к задачам: заполнение массива чисел возможно реализовать и на C+. НО сами операции нахождения положит и отриц. в первой лабе, и определение возрастающей последовательности должно быть на языке MASM, в третьей задачи аналогично. Т.е. возможно реализовать лабу на С+ с ассемблерными вставками.
|
|
|

29.12.2008, 19:34
|
|
Новичок
Регистрация: 08.02.2008
Сообщений: 19
С нами:
9608715
Репутация:
0
|
|
Помогите с заданием по С++
Дан вещественный массив длины N. Разработать программу, которая сортирует массив так, что все его положительные числа находятся в начале, все отрицательные в конце, причем сохраняется исходный порядок следования элементов в соответствующих группах.
Как отсортировать по знаку что нужно использовать?
|
|
|

30.12.2008, 21:42
|
|
Новичок
Регистрация: 09.11.2008
Сообщений: 15
С нами:
9211578
Репутация:
16
|
|
Сообщение от HencH_MaN
Помогите с заданием по С++
Дан вещественный массив длины N. Разработать программу, которая сортирует массив так, что все его положительные числа находятся в начале, все отрицательные в конце, причем сохраняется исходный порядок следования элементов в соответствующих группах.
Как отсортировать по знаку что нужно использовать?
Данный способ основан на использовании двух дополнительных матриц - одна хранит положительные значения из входного массива, а вторая отрицательные. При данном способе можно было бы обойтись и без входного массива, но в ТВОЕМ задании сказано... Короче вот:
Код:
# include <cstdio>
# include <cstdlib>
# include <iostream>
using namespace std;
int main(){
cout<<"Введите количество элементов в матрице: ";
int n=1; //переменная хранящая количество элементов в марице
cin>>n;
double mas1[n];//главный массив
double masOtr[n];//массив для хранения отрицательных значений
double masPol[n];//массив для хранения положительных значений
int pol=0,otr=0;//переменные для хранения количества положительных и отрицательных элементов
for (int i=0;i<n;i++){//начало цикла заполняющего массивы
cout<<"Вводится элемент №"<<i<<" ";
cin>>mas1[i];//заполняем основной массив
if (mas1[i]<0) {masOtr[otr]=mas1[i];otr++;} else {masPol[pol]=mas1[i];pol++;}; //выбираем положительные и отрицательные числа
}; //конец цикла заполняющего массивы
cout<<"\nСодержание матрицы до изменения\n";
for (int i=0;i<n;i++){
cout<<mas1[i]<<endl; //выводим содержание массива до сортировки
}
otr=0;
for (int i=0;i<n;i++){//начало сортировки массива
if (i<pol) {mas1[i]=masPol[i];} else {mas1[i]=masOtr[otr];otr++;}; //собственно сортировка массива
//отрицательные числа сортируются после всех
}//конец сортировки массива
cout<<"\nСодержание матрицы после фильтрации\n";
for (int i=0;i<n;i++){
cout<<mas1[i]<<endl; //вывод содержания массива после сортировки
}
system ("pause");//пауза для того чтобы посмотреть результат
return 0;
}
P.S.
Обращаюсь к знающим античатовцам: мои познания в C++ весьма скудны и поэтому прошу тех кто знает посмотреть на данный код и оптимизировать его и/или предложить более рациональный способ (мне самому уже интересны варианты решения данной задачи).
|
|
|

29.12.2008, 19:46
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
С нами:
11099536
Репутация:
518
|
|
выборолчная шейкер сортировка ...
Код:
float A[N];
float temp;
int i,j;
do {
for(i=0,flag=0;i<N-1;i++)
if(A[i]<0 && A[i+1]>0)
{
temp=A[i];
A[i]=A[i+1];
A[i+1]=temp;
flag=1;
}
for(i=N-1;i>1;i--)
if(A[i]>0 && A[i-1]<0)
{
temp=A[i];
A[i]=A[i-1];
A[i-1]=temp;
flag=1;
}
}while(flag==0);
НЕ ПРОВЕРЯЛ бил прямо тут!
|
|
|

30.12.2008, 13:39
|
|
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
С нами:
9989619
Репутация:
106
|
|
Delimiter
Так динамический массив определять нельзя, если это был он.
При комп будет что то подобное
Код:
error C2133: 'A' : unknown size
так можно сделать если выше.
или уж через new
Код:
float* A = new float[N];
Последний раз редактировалось St0nX; 30.12.2008 в 13:42..
|
|
|

30.12.2008, 16:51
|
|
Новичок
Регистрация: 08.02.2008
Сообщений: 19
С нами:
9608715
Репутация:
0
|
|
Помогите пожалуйста!!!На С++
Разработать функцию, которая выбирает из произвольного числа заданных последовательностей чисел последовательность с максимальным средним значением. Показать варианты вызова функции.
Последний раз редактировалось HencH_MaN; 30.12.2008 в 16:53..
|
|
|

04.01.2009, 23:55
|
|
Познающий
Регистрация: 30.12.2007
Сообщений: 52
С нами:
9665432
Репутация:
2
|
|
Дорогие античатовцы, я учу С++ и мне задают лабораторки с задачами по задачнику, автор - С. А. Абраамов. Я бы не сказал что я непонимаю в програмировании, но в етих задачах очень трудно понять что от програмиста хотят :-) Так вот ктонибудь сталкивался с етим задачником?
Преподаватель молчит, говорит студент должен сам все находить и учить, вот например такая задача:
"Даны натуральные числа k, m, n, символы s1,...,sk,t1,...,tm, u1...,un. Получить по одному разу те символы, которые входят одновременно во все три последовательности"
И как такое решать ? :-)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|