Форум программистов, компьютерный форум, киберфорум
Наши страницы

Не получается написать программу обработки массивов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как добавить новый узел в XOR связный список? http://www.cyberforum.ru/cpp-beginners/thread570974.html
Ребятки, помогите разобраться с програмкой:): В качестве аргумента командной строки программе передаются числа n и a. Используя структуры создать XOR связный список из n узлов. Для хранения чисел в...
C++ Пузырьковая сортировка 2 массивов. Каждый массив в отдельном потоке Здравствуйте! Пузырьковая сортировку 2 массивов параллельно, то есть каждый массив в отдельном потоке сортируется! 2 потока, 2 массива #include "windows.h" #include "process.h" #include... http://www.cyberforum.ru/cpp-beginners/thread570972.html
Найти количество цифр в натуральном числе N, вводимом с клавиатуры. Borland C++ C++
Нужна помощь! Максимальная длинна числа при котором правильно считает 10. Как сделать так, чтоб программа считала количество цифр больше 10??? /* Задание 3.100 Найти количество цифр в...
метод Рунге-Кутта C++
Помогите написать программу на хаотичное движение бильярдных шаров методом Рунге-Кутта. При столкновении шары должны отталкиваться, ну и с течением времени замедляться.
C++ Структуры: Сведения об автомобиле состоят из номера, марки, фамилии владельца, признака прохождения техосмотра http://www.cyberforum.ru/cpp-beginners/thread570954.html
Помогите решить структурную задачу Сведения об автомобиле состоят из номера, марки, фамилии владельца, признака прохождения техосмотра. Написать программу для занесения в массив информации о N...
C++ Найти причины возникновения ошибок в коде и исправить эти ошибки (динамический двумерный массив) Подскажите пожалуйста,что я упустила, где шибка? #include <iostream> using namespace std; void main() { int n=0; int m=0; cin>>n>>m; подробнее

Показать сообщение отдельно
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
12.05.2012, 04:18
Тоже подкину вариантик.
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <cstring>
#include <ctime>
 
 
int main() {
   const std::size_t size = 20;
   
   int array1[ size ] = { 0 },
       array2[ size ] = { 0 },
       k = 0;
   
   unsigned int count = 0;
   
   std::srand( std::time( 0 ));
   
   std::cout << "Enter 'k':";
   std::cin >> k ;
   
   std::cout << "Original array: " << std::endl;
   for ( std::size_t i = 0; i < size; i++ ) {
      array1[ i ] = std::rand() % 100;
      
      std::cout << std::setw( 2 ) << array1[ i ] << ' ';
      
      if( array1[ i ] % 10 == k )
         array2[ count++ ] = array1[ i ];
   }
   
   std::cout << "\n\nProcessed array:" << std::endl;
   for ( std::size_t i = 0; i < count; i++ )
      std::cout << std::setw( 2 ) << array2[ i ] << ' ';
   
   std::cout << std::endl;
   
   return 0;
}
Добавлено через 14 минут
Можно вот так с динамической памятью:
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
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <cstring>
#include <ctime>
 
 
int main() {
   std::size_t size = 0,
               count = 0;
   
   int *array1 = 0,
       *array2 = 0,
        k = 0;
   
   std::srand( std::time( 0 ));
   
   std::cout << "Enter size of array: ";
   std::cin >> size;
   
   std::cout << "Enter 'k':";
   std::cin >> k ;
   
   array1 = new int [ size ],
   array2 = new int [ size ],
   
   std::cout << "Randomized array: " << std::endl;
   for ( std::size_t i = 0; i < size; i++ ) {
      array1[ i ] = std::rand() % 100;
      
      std::cout << std::setw( 2 ) << array1[ i ] << ' ';
      
      if( array1[ i ] % 10 == k )
         array2[ count++ ] = array1[ i ];
   }
   
   if ( 0 < count && count < size ) {
      int *temp = array2;
      
      array2 = new int [ count ];
      memcpy( array2, temp, count * sizeof( array2[ 0 ]));
      
      delete [] temp;
   }
   
   std::cout << "\n\nProcessed array:" << std::endl;
   for ( std::size_t i = 0; i < count; i++ )
      std::cout << std::setw( 2 ) << array2[ i ] << ' ';
   
   std::cout << std::endl;
   
   delete [] array1;
   delete [] array2;
   
   return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.