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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
profun
Сообщений: n/a
#1

Преобразование Одномерного и Двухмерного массивов разбиением на функции.(готовый код БЕЗ функций прилагается) - C++

03.05.2012, 16:47. Просмотров 318. Ответов 0
Метки нет (Все метки)

Необходимо оформить каждый пункт задания в виде функции. Все данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных не допускается.
#1. Одномерный массив
Нахождение минимального номера элемента, нахождение суммы элементов между первым и вторым отрицательным элементом массива и преобразование массива таким образом, чтобы сначала располагались элементы, модуль которых меньше нуля, затем все остальные.
Надо переделать таким образом, чтобы данные локальные задачи решались с помощью отдельных функций.
Имеется рабочий код программы БЕЗ функций.
Код
#include <iostream>
using namespace std;
int main()
{
    int i;
    float sum;
    cout << "Number of elements: ";
    cin >> i;
    float *b = new float [i]; 
    for (int counter = 0; counter < i; counter++)
    {
        b[counter] = - 5.00 + ((rand() % 101) / 10.0); 
        cout << b[counter] << "  "; 
    }
    cout << endl;
 float imin,min;  
      min=b[0];
  imin=0;
for (int counter=1; counter<i; counter++){
if (b[counter] < min) {
imin=counter+1;
min=b[counter];
}
}
     i=0;
 sum=0;
 while (b[i] >= 0)
    ++i;
  ++i; 
  while (b[i] >= 0) {
    sum += b[i];
    ++i;
  }
  int k;
   float *relocation_b = new float [k]; 
    int index = 0; 
    for (int counter = 0; counter < k; counter++)
    {
        if (b[counter]>0&&b[counter]<1 || b[counter]<0&&b[counter]>-1)
        {
            relocation_b[index] = b[counter];
            index++;
        }
    }
    for (int counter = 0; counter < k; counter++)
    {
        if (b[counter] > 1 || b[counter]<-1)
        {
            relocation_b[index] = b[counter];
            index++;
        }
    }
cout << "\nMin element = " << min << endl;
cout <<"Index: "<<imin<<endl;
cout<<endl;
 cout << "Summa: " << sum << endl;
  cout << "\nReorganize massive:\n";
    for (int counter = 0; counter < k; counter++)
    {
        cout << relocation_b[counter] << "  ";
    }
    cout << endl;
    cout<<endl;
system("pause");
return 0;
}
#2 Двумерный массив

Аналогично, задачи заключаются в следующем: характеристикой столбца целочисленной матрицы является сумма модулей его отрицательных нечётных элементов.
Переставить столбцы матрицы, расположив их в соответствии с ростом характеристик. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент.
Код без функций опять же присутствует.
Код
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
        int a[6][5];
        int temp[6];
        int i, j;
        cout << "Ishodniy massiv" << endl;
 
       for(i=0; i<5; i++)
        {
                for(j=0; j<5; j++)
                {
                        a[i][j] = rand()%100-50;
                        cout << a[i][j] << "\t";
                }
                cout << endl << endl;
        }
         for(j=0; j<5; j++)
        {
                a[5][j] = 0;
 
                for(i=0; i<5; i++)
                {
                        if ((a[i][j]<0) && (a[i][j]%2!=0))
                                a[5][j] += abs(a[i][j]);
                }
        }
        int min=0;
        for(i=0; i<4; i++)
        {
                min = i;
 
                for(j=i+1; j<5; j++)
                {
                        if (a[5][j]<a[5][min])
                        {
                                min = j;
                        }
                }
                temp[0] = a[0][min];
                temp[1] = a[1][min];
                temp[2] = a[2][min];
                temp[3] = a[3][min];
                temp[4] = a[4][min];
                temp[5] = a[5][min];
 
                a[0][min] = a[0][i];
                a[1][min] = a[1][i];
                a[2][min] = a[2][i];
                a[3][min] = a[3][i];
                a[4][min] = a[4][i];
                a[5][min] = a[5][i];
 
                a[0][i] = temp[0];
                a[1][i] = temp[1];
                a[2][i] = temp[2];
                a[3][i] = temp[3];
                a[4][i] = temp[4];
                a[5][i] = temp[5];
        }
        cout << endl << "Otsortirovanniy massiv" << endl;
        for(i=0; i<5; i++)
        {
                for(j=0; j<5; j++)
                {
                        cout << a[i][j] << "\t";
                }
                cout << endl << endl;
        }
        for(i=0; i<5; i++)
                cout << "---\t";
        cout << endl;
        for(i=0; i<5; i++)
                cout << a[5][i] << "\t";
        cout << " -> harakteristiki stolbcov" << endl << endl;
        int n, sum;
        for(j=0; j<5; j++) 
        {
                for(i=0; i<5; i++) 
                {
                        if (a[i][j]<0) 
                        {
                                sum = 0;
 
                                for(n=0; n<5; n++) 
                                {
                                        sum += a[n][j];
                                }
 
                                cout << "summa elementov stolbca [" << j+1 << "] = " << sum << endl;
                                break;
                        }
                }
        }
        getch();
        return 0;
}
Добрые люди, есть ли вы..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2012, 16:47     Преобразование Одномерного и Двухмерного массивов разбиением на функции.(готовый код БЕЗ функций прилагается)
Посмотрите здесь:

Блок-схемы,одномерного массива,двухмерного, и функции. - C++
Всем здрасте, помогите с блок схемами может у кого есть для данных програм.Очень похожие,или у кого время есть нарисовать буду очень...

Создать меню для работы с программой заполнения массива, используя функции. код прилагается - C++
Реализовать программу меню: 1. Заполнить массив нулями 2. Заполнить массив с клавиатуры 3. Заполнить массив случайными числами ...

Преобразование char в int без использования функций библиотеки С - C++
Собственно САБЖ имеется переменная char c='123'; требуется поместить ее в целочисленную переменную например int k; так чтобы в нее...

Вычислить значение функции(исправить готовый код) - C++
Вычислить значение функции y=(x+5.2)\(x+1)(3x+4), на промежутке с шагом h=0.3. Результаты расчетов вывести в виде таблицы пар х и у....

Оформить обработку одномерного и двумерного массивов в виде функции - C++
Добрый вечер! Прошу помочь с заданием. Выполнить задания третьего семинара (Одномерные массивы) и четвертого семинара (двумерные...

Написать перегруженные функции для вывода на экран суммы элементов одномерного и двумерного массивов - C++
Доброе время суток! Прошу помощи в реализации следующей программы... Задача: Заданы элементы массива. Написать перегруженные...

Построение таблицы значений для функции с разбиением отрезков - C++
Задача: Построить таблицу значений для функции на отрезке с числом разбиений отрезка m=15. Собственно, прощу объяснить данную...

Необходимо преобразовать код в более простой - без функций, процедур и конструктора. - C++
Всем доброго вечера. Долгое время работал над программой, в плане её понимания. Попытался переработать в более простой вид - без функций,...

Однорукий бандит. код прилагается - C++
Помогите доделать с использованием очередей. Создать имитацию игры &quot;однорукий бандит&quot;. Например, при нажатии кнопки &quot;Enter&quot; происходит...

Класс Student. Код прилагается - C++
Создать класс Student. Класс имеет атрибуты name(имя), surname(фамилия), patronymic(отчество), yearBirth(год рождения), kurs(курс), ...

Страуструп. Сортировка трех чисел .Как сделать проще код без циклов и массивов? - C++
Напишите программу. предлагающую пользователю ввести три целых числа, а затем выводит их в порядке возрастания, разделяя запятыми ....

Найдите пожалуйста ошибку(код прилагается) - C++
ЗАДАЧА. Составить программу вычисления значения выражения f (x), для значений параметра x, который меняется на интервале min max xx с ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru