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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2009, 14:32   #1
Olya90
Форумчанин
 
Аватар для Olya90
 
Регистрация: 16.03.2009
Сообщений: 125
Вопрос Как можно переделать прогу (С++)

Задача: Нужно создать рандомный масив который состоит из n(количество элементов масива) созданый масив выводится потом пользователь вводит K(количество элементов масива), потом програма должна добавить эти элементы в конец "предыдущего" масива(склеить их) и вывести.
Я то написала ее но препод не хочет принимать, говорит слошком сложный и "некрасивый" код. Подскажите или помогите написать "красиво" )).
вот моя прога:
Код:
#include <cstdlib>
#include <iostream>
#include<ctime>
#include<conio.h>
#include<cmath>


using namespace std;

int main(int argc, char *argv[])
{
    int mas[100];
    int k,b,n;
    cout << "Enter n = ";
    cin >> n;

srand(time(NULL));

cout<<"massiv\n ";
int c,a,i=-1;
do
{  i++;
	if (i==n)
    { 
	  cout << "\nEnter k = ";
	  cin >> k;
	  for(i=n;i<k+n;i++)
	  {
		  mas[i]=rand()%100-50;
		  cout << mas[i] << " ";
	  }i++; 
   
    }
	else {
  mas[i]=rand()%100-50;
  cout << mas[i] << " ";}
  
}while(i<n);

cout << "\nVves massiv = \n";
for (i=0;i<(k+n);i++)
cout << mas[i] << " ";

system("PAUSE");
return EXIT_SUCCESS;
}
Если помогла нажмите на весы
Olya90 вне форума Ответить с цитированием
Старый 31.03.2009, 14:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну насколько я понял то примерно так:
Я конечно не силен в Сях...
Код:
int main(int argc, char *argv[])
{
    int mas[1000];
    int k,b,n;
    cout << "Enter n = ";
    cin >> n;

srand(time(NULL));

cout<<"massiv\n ";
	  for(i=0;i<n;i++){
		  mas[i]=rand()%100-50;
		  cout << mas[i] << " ";
	  }

	  cout << "\nEnter k = ";
	  cin >> k;
	  for(i=n+1;(i<(n+k))&&(i<1000);i++)  cin >> mas[i];
cout << "\nVves massiv = \n";
k=i;
for (i=0;i<k;i++) cout << mas[i] << " ";
system("PAUSE");
return EXIT_SUCCESS;
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.03.2009, 14:50   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Может, так:
Код:
#include <cstdlib>
#include <iostream>
#include<ctime>
#include<conio.h>
using namespace std;

int main(int argc, char *argv[])
{
int mas[100],a;
int n,k,i,ni;

cout<<"Enter n: ";
cin>>n;
for(i=0;i<n;i++)
 {
  mas[i] = rand()%50;
  cout<<mas[i]<<" ";
 }
cout<<"\nEnter k: ";
cin>>k;
for(i=0;i<k;i++)
 {
  a = rand()%50;
  cout<<(mas[n++] = a)<<" ";
 }

cout<<"\n\nVes massiv:\n";
for(i=0;i<n;i++)
 cout<<mas[i]<<" ";
cout<<endl;

getch();
return EXIT_SUCCESS;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 31.03.2009, 15:06   #4
Olya90
Форумчанин
 
Аватар для Olya90
 
Регистрация: 16.03.2009
Сообщений: 125
По умолчанию

Спасибки ))
Если помогла нажмите на весы
Olya90 вне форума Ответить с цитированием
Старый 31.03.2009, 15:21   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот.. Немного укоротил.
Сделать еще короче, вроде, никак )
Код:
#include <iostream>
#include<ctime>
#include<conio.h>
using namespace std;

int main(int argc, char *argv[])
{
int mas[100];
int n,k,i;

cout<<"Enter n: "; cin>>n;
for(i=0;i<n;i++)
 cout<<(mas[i] = rand()%50)<<" ";

cout<<"\nEnter k: "; cin>>k;
for(i=0;i<k;i++)
  cout<<(mas[n++] = rand()%50)<<" ";

cout<<"\n\nVes massiv:\n";
for(i=0;i<n;i++)
 cout<<mas[i]<<" ";
cout<<endl;

getch();
return 0;
}
to Stilet
У вас только нужно подправить строчку:
Код:
 for(i=n;(i<(n+k))&&(i<1000);i++)  cin >> mas[i];
Цитата:
Может быть, я не СИ++лен
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 31.03.2009 в 15:35.
Sazary вне форума Ответить с цитированием
Старый 31.03.2009, 15:32   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Sazary
Может быть, я не СИ++лен
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переделать прогу daur3n Помощь студентам 2 10.03.2009 13:34
помогите переделать прогу +Hitman+ Паскаль, Turbo Pascal, PascalABC.NET 4 17.11.2008 23:26