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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2009, 10:10   #1
andrey11rus
Новичок
Джуниор
 
Регистрация: 01.12.2009
Сообщений: 8
По умолчанию помогите пожалуйта с программой на си

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


Код:
# include <stdlib.h>
# include <stdio.h>
# include <string.h>
# include <conio.h>

# define N 50

void sort (int y, int x[])
{
int temp,i,j;
for (i=0;i<y;i++)
for (j=0;j<y;j++)
{
if (x[i]>x[j]) {temp=x[i]; x[i]=x[j]; x[j]=temp;}
}
printf("\n\n Massiv posle sortirovki:\n");
for (i=0;i<y;i++)
{
printf("%d\t",x[i]);
}
}


int main ()
{
int mass1[N], mass2[N], mass3[2*N],m1,m2,i;

printf("Vvedite razmernost MASSIVA #1 & MASSIVA #2\n");
scanf("%d%d",&m1,&m2);
srand(time());
for (i=0;i<m1;i++)
{
mass1[i]=-int(rand()*double(100)/double(RAND_MAX))+50;
printf("%d\t",mass1[i]);
}
printf("\n\n");
for (i=0;i<m2;i++)
{
mass2[i]=-int(rand()*double(100)/double(RAND_MAX))+50;
printf("%d\t",mass2[i]);
}
sort(m1, mass1);
sort(m2, mass2);
for (i=0;i<m1;i++)
{
mass3[i]=mass1[i];
}
for (i=0;i<m2;i++)
{
mass3[i+m1]=mass2[i];
}
m1=m1+m2;
printf("\n\n MASSIV #3 :\n");
for (i=0;i<m1;i++)
{
printf("%d\t",mass3[i]);
}
sort(m1,mass3);
printf("\n\n");
system("pause");
}
warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
error C3861: time: идентификатор не найден

Последний раз редактировалось Stilet; 02.12.2009 в 11:56.
andrey11rus вне форума Ответить с цитированием
Старый 02.12.2009, 10:25   #2
forsaken66
Куды бечь?
Форумчанин
 
Аватар для forsaken66
 
Регистрация: 05.10.2009
Сообщений: 104
По умолчанию

Подключи библиотеку "time.h".
Не хватало всего одного байта. Да-да, того самого, что из восьми бит состоит.
forsaken66 вне форума Ответить с цитированием
Старый 02.12.2009, 10:26   #3
andrey11rus
Новичок
Джуниор
 
Регистрация: 01.12.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от forsaken66 Посмотреть сообщение
Подключи библиотеку "time.h".
подключил
error C2660: time: функция не принимает 0 аргументов
andrey11rus вне форума Ответить с цитированием
Старый 02.12.2009, 10:42   #4
forsaken66
Куды бечь?
Форумчанин
 
Аватар для forsaken66
 
Регистрация: 05.10.2009
Сообщений: 104
По умолчанию

srand(time(NULL)); вот, проморгал

а это что?
Код:
mass1[i]=-int(rand()*double(100)/double(RAND_MAX))+50;
вот так нужно.

Код:
mass1[i]=rand()%50+1;
Не хватало всего одного байта. Да-да, того самого, что из восьми бит состоит.
forsaken66 вне форума Ответить с цитированием
Старый 02.12.2009, 10:51   #5
andrey11rus
Новичок
Джуниор
 
Регистрация: 01.12.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от forsaken66 Посмотреть сообщение
srand(time(NULL)); вот, проморгал

а это что?
Код:
mass1[i]=-int(rand()*double(100)/double(RAND_MAX))+50;
вот так нужно.

Код:
mass1[i]=rand()%50+1;
не помогло
Компиляция...
fg.cpp
warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

warning C4244: аргумент: преобразование 'time_t' в 'unsigned int', возможна потеря данных
andrey11rus вне форума Ответить с цитированием
Старый 02.12.2009, 11:12   #6
forsaken66
Куды бечь?
Форумчанин
 
Аватар для forsaken66
 
Регистрация: 05.10.2009
Сообщений: 104
По умолчанию

Ну так это же варнинги просто Ошибок-то нету. Вместо scanf напиши scanf_s (по моему там не требуется доп. аргументов)

Код:
srand((unsigned)time(NULL));

и 

float e=0;
scanf_s("%f",&e);
Не хватало всего одного байта. Да-да, того самого, что из восьми бит состоит.
forsaken66 вне форума Ответить с цитированием
Старый 02.12.2009, 11:18   #7
andrey11rus
Новичок
Джуниор
 
Регистрация: 01.12.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от forsaken66 Посмотреть сообщение
Ну так это же варнинги просто Ошибок-то нету. Вместо scanf напиши scanf_s (по моему там не требуется доп. аргументов)

Код:
srand((unsigned)time(NULL));

и 

float e=0;
scanf_s("%f",&e);
все спасибо работает теперь можно и поспать
andrey11rus вне форума Ответить с цитированием
Старый 27.12.2012, 00:47   #8
WindChaiser47RUS
Новичок
Джуниор
 
Регистрация: 27.12.2012
Сообщений: 1
По умолчанию

Ребят, спасибо, у меня как раз эта лаба попалась
Только что-то не работает...ошибки есть, не понимаю как исправить
error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов
: error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов
: error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов
) : error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов
: error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов
WindChaiser47RUS вне форума Ответить с цитированием
Старый 27.12.2012, 11:14   #9
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов
Обычно там ещё пишется номер строки. Вот эту строку, плюс две-три строки до и после, сюда можно?
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОМОГИТЕ ПОЖАЛУЙТА НАПИСАТЬ ПРОГРАММУ! НАСТЯ 18:) Помощь студентам 9 08.05.2009 21:25
Помогите с программой!! Photomachine Помощь студентам 1 08.02.2009 15:26
Найдите, пожалуйта,ошибки в задаче!очень срочно! Wia Помощь студентам 2 06.12.2008 20:02
помогите с программой Ananim-Pbl6ak Паскаль, Turbo Pascal, PascalABC.NET 8 28.10.2008 20:59