Форум программистов, компьютерный форум CyberForum.ru

Работа с массивом. Ввести число x и продублировать каждый элемент массива, превосходящий x - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти самое длинное и самое короткое слово в тексте http://www.cyberforum.ru/cpp-beginners/thread831331.html
найти самое длинное и самое короткое слово в тексте #include "stdafx.h"endl; #include <iostream> #include <string> #include <vector> using namespace std; string s; getline(cin,s); cout<<"vvod texta/n"<<endl;
C++ Системные флаги диска #include <iostream> #include <stdio.h> #include <windows.h> #include <conio.h> #include <locale> using namespace std; int main() { http://www.cyberforum.ru/cpp-beginners/thread831315.html
Программа подбора персонала C++
Ребят, подскажите с чего тут начинать? Я не прошу написать программу)) Вот такое задание: Программа подбора сотрудников для поездки на конференцию. Для участия в конференции из коллектива сотрудников необходимо выбрать троих. Сформировать все возможные тройки.
C++ Выяснить равен ли 4-й бит 0
lydi dobrye, pomogite please....zadacha vrode by legkaya..( х=40, выяснить равен ли 4-й бит 0 (pascale ili je c++)
C++ Указатели, шаблоны, NULL http://www.cyberforum.ru/cpp-beginners/thread831289.html
Всем привет, суть такая, происходят немыслимые вещи: В такой ситуации: class Node{ public: int num; //Тестовые данные Node *next; //Указатель на следующий узел Node *back; //Указатель на предыдущий };
C++ работа с условным оператором if "работы с условным оператором if" #include "StdAfx.h" #include <iostream> #include <stdio.h> #include <conio.h> #include <string> #include <math.h> #include <sstream> #include <stdlib.h> #include <string.h> подробнее

Показать сообщение отдельно
tulyak
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 3
08.04.2013, 14:31  [ТС]     Работа с массивом. Ввести число x и продублировать каждый элемент массива, превосходящий x
Цитата Сообщение от prospector Посмотреть сообщение
"Лобовой" вариант, с двумя векторами и безо всяких проверок:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <fstream>
#include <iostream>
#include <vector>
 
using namespace std;
 
int main()
{
  int x;
  cin >> x;
 
  ifstream in("/path/input.txt");
  vector<int> vin, vout;
  int i;
  while(in >> i) vin.push_back(i);
 
  for (vector<int>::size_type i = 0 ; i != vin.size(); i++) {
    if (vin[i] > x) vout.push_back(vin[i]);
    vout.push_back(vin[i]);
  }
 
  ofstream out("/path/output.txt");
  for (vector<int>::size_type i = 0 ; i != vout.size(); i++) {
    out << vout[i] << endl;
  }
}
а чем плох предыдущий вариант? кстати, я тут пока сидел думал...переписал задачу...но работает она некорректно(
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
int sdvig( int mas[], int N){ //функция смещение на 1 вправо
     int temp=mas[0];
     for (int i=N-1; i>0;i--) mas[i]=mas[i-1];
     mas[0]=temp;
}
 
int main()
{
int *mas;
int i,N,x;
FILE *in, *out;
in=fopen("input.txt","r");
if(in==NULL)
{}
out=fopen("output.txt", "w");
if (fscanf(in,"%d",&N) !=1)
printf("error2");
mas=(int *)malloc(sizeof(int)*N*2);
for (i=0;i<N;i++){
fscanf(in,"%d",&mas[i]);}
printf("%d\n", N);
for (i=0;i<N;i++)
printf("%d\n",mas[i]);
printf("enter integer number: ");
scanf("%d", &x);
for (i=0;i<N;i++)
       { if (x==mas[i])
       sdvig(mas,N);
       mas[i]=mas[i+1]; }
   for (i=0;i<N;i++){
    fprintf(out,"%d\n",mas[i]);}
 
 
 
fclose(in);
fclose(out);
return 0;
}
 
Текущее время: 18:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru