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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2010, 01:42   #1
Ketu
Пользователь
 
Регистрация: 15.03.2008
Сообщений: 20
По умолчанию с си++ на с

Помогите превести на си с си++ пожалуйста.
Код:
#include <iostream>
#include <ctime>
#include <iomanip>
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    int row,column;
        std::cout << "Введите кол-во строк в массиве: ";
        std::cin >> row;
        std::cout << "Введите кол-во столбцов в массиве: ";
        std::cin >> column;
 
        int **MAS = new int *[row]; // выделяем память для массива.
        for (int i = 0; i < row; i++)
        MAS[i] = new int [column];
 
        srand(time(NULL));
        std::cout << "Первоначальный массив: " << std::endl;
        for (int i=0; i<row; i++)  // заполняем массив случайнми числами,
        {
                for (int j=0; j<column; j++) // в диапозоне от -10 от 10.
                {
                        MAS[i][j]=rand() % 21 - 10;
                        std::cout << std::setw(3) <<MAS[i][j] ;  // и выводим на экран.
                }
                std::cout << std::endl;
        }
 
        int *MAS_neg=new int [column]; // создаем массив MAS_neg для хранения кол-ва отрицательных элементов.      
        int number; // тут будут хранится кол-во отрицательных элементов.
        
        for (int i=0; i<column; i++)
        {
                number=0;
                for (int j=0; j<row; j++)
                if (MAS[j][i]<0) number+=1; // находим кол-во отрицатлеьных элементов,
        
                MAS_neg[i]=number; // и записываем их в соответствующую ячейку.
        } 
 
        int t; // для цикла.
        for (int i=0; i<column -1; i++)
    for (int j=i+1; j<column; j++)
            if (MAS_neg[i]<MAS_neg[j])
                {
                                t=MAS_neg[i];       //Сортировка минимальных значений
                                MAS_neg[i]=MAS_neg[j];
                                MAS_neg[j]=t;
                                for (int k=0; k<row; k++)
                                {     //Соот-ная сортировка
                                        t=MAS[k][i];      //столбцов
                                        MAS[k][i]=MAS[k][j];
                    MAS[k][j]=t;
                                }
                }
 
        std::cout << "Новый массив: " << std::endl;
        for (int i=0; i<row; i++)  
        {
                for (int j=0; j<column; j++)
                        std::cout << std::setw(3) <<MAS[i][j];  // выводим новый массив на экран.
 
                std::cout << std::endl;
        }
 
        for (int i = 0; i < row; i++)
        delete []MAS[i];
        delete []MAS;
        delete []MAS_neg;
    system("pause");
    return 0;
}
Ketu вне форума Ответить с цитированием
Ответ


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