Форум Gatchina OnLine  

Вернуться   Форум Gatchina OnLine > Hard&Soft > Программирование и разработка

Программирование и разработка Обсуждение вопросов программирования

Ответ
 
Опции темы Опции просмотра
Старый 05.10.2008, 12:58   #1
Tommy
Eternal
 
Аватар для Tommy
 
Регистрация: 16.09.2006

Нарушения:[Посмотреть]
Лампочка Язык программирования С

Народ кто нибудь шарит в этом??помогите плииз
"В двумерном N * K массиве целых чисел поменять местами строку, содержащую минимальный элемент массива, со строкой, содержащей максимальный элемент массива"
__________________
I..? Yes I in general legend!
Tommy вне форума   Ответить с цитированием
Старый 05.10.2008, 20:17   #2
Insya
online();
 
Аватар для Insya
 
Регистрация: 24.01.2006
Адрес: Гатчина

Нарушения:[Посмотреть]
могла налажать в синтаксисе, т к на вижуалке на с++ писала

#include "stdafx.h"

int N=4;
int K=3;
int m[4][3]={{5,3,4},{8,1,3},{7,0,4},{9,5,7}};


void FindMinMax(int a[][3], int &imin, int &imax)
{
int jmax=0;
int jmin=0;
int i;
int j;
for (i = 0; i < N; i++)
{
for(j=0; j<K; j++)
{
if (a[imax][jmax] < a[i][j])
{
imax = i;
jmax=j;
}
if (a[imin][jmin] > a[i][j])
{
imin = i;
jmin=j;
}
}
}
}
void main()
{
int imin=0;
int imax=0;
int temp[3];
int i;
int j;
FindMinMax(m, imin, imax);
for(i=0; i<3; i++)
{
temp[i]=m[imin][i];
m[imin][i]=m[imax][i];
m[imax][i]=temp[i];
}

for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
printf("%d", m[i][j]);
}
printf("\r\n");
}
}
Insya вне форума   Ответить с цитированием
Старый 05.10.2008, 20:34   #3
TNT
Кот - обормот
 
Аватар для TNT
 
Регистрация: 24.01.2006
Адрес: Въездъ

Нарушения:[Посмотреть]
а чего в stdafx.h вообще?
P.S. Tommy, ты тоже из техникума?
__________________
Use the downforce, Luke!
TNT вне форума   Ответить с цитированием
Старый 05.10.2008, 20:50   #4
Tommy
Eternal
 
Аватар для Tommy
 
Регистрация: 16.09.2006

Нарушения:[Посмотреть]
Цитата:
Сообщение от TNT Посмотреть сообщение
а чего в stdafx.h вообще?
P.S. Tommy, ты тоже из техникума?
Ну типа того...гуап
__________________
I..? Yes I in general legend!
Tommy вне форума   Ответить с цитированием
Старый 05.10.2008, 20:52   #5
Kostyan
папуас
 
Аватар для Kostyan
 
Регистрация: 24.01.2006
Адрес: остров в океане

Нарушения:[Посмотреть]
Цитата:
Сообщение от Tommy Посмотреть сообщение
Народ кто нибудь шарит в этом??помогите плииз
"В двумерном N * K массиве целых чисел поменять местами строку, содержащую минимальный элемент массива, со строкой, содержащей максимальный элемент массива"
потести, а то я не успел, может баги где есть...
Код:
#include <iostream>

using namespace std;

const int n=4;//кол-во строк
const int k=2;//кол-во столбцов

void masprint(int** massive)//функция вывода массива
{
    for (int i=0; i<n; i++)
        {
            for (int j=0; j<k; j++)
                cout<<massive[i][j]<<" ";
        cout<<'\n';
        };
};

int** replacemaxmin(int** a)//функция замены строк
{
    int max=a[0][0];
    int min=a[0][0];
    int nmax=0;//номер строки с наибольшим
    int nmin=0;//номер строки с наименьшим
    for (int i=0; i<n; i++)
        for (int j=0; j<k; j++)
        {
            if (a[i][j]>max)//сравниваем с макс
            {
                max=a[i][j];//новый максимум
                nmax=i;//текущая строка с мин эл-ои
            };
            if (a[i][j]<min)//сравниваем с мин
            {
                min=a[i][j];//новый минимум
                nmin=i;//текущая строка с мин эл-ом
            };
        };
    int tmp=0;
    for (int j=0; j<k; j++)//меняем строки местами
    {
        tmp=a[nmax][j];
        a[nmax][j]=a[nmin][j];
        a[nmin][j]=tmp;
    };
    return a;
};

int main()
{
    int** mas=new int*[n];//динамически создаём массив
    for (int i=0; i<n; i++)
        mas[i]=new int[k];
    for(int i=0; i<n; i++)//заполняем массив
    for(int j=0; j<k; j++)
      {
          cout<<"Enter element x"<<'['<<i<<"]["<<j<<"]: \n";
          cin>>mas[i][j];
      };
    masprint(mas);//выводим исходный массив
    cout<<'\n';
    mas=replacemaxmin(mas);//обрабатываем массив
    masprint(mas);//выводим конечный массив
    return 0;
}
__________________
I'm going back to my roots yeah yeah
Reggae music is all that I need!
Lucky Dube
Kostyan вне форума   Ответить с цитированием
Старый 05.10.2008, 21:36   #6
Insya
online();
 
Аватар для Insya
 
Регистрация: 24.01.2006
Адрес: Гатчина

Нарушения:[Посмотреть]
Цитата:
Сообщение от TNT Посмотреть сообщение
а чего в stdafx.h вообще?
P.S. Tommy, ты тоже из техникума?
стандартная библиотека, в которую входят основные библиотеки
Insya вне форума   Ответить с цитированием
Старый 05.10.2008, 21:38   #7
Insya
online();
 
Аватар для Insya
 
Регистрация: 24.01.2006
Адрес: Гатчина

Нарушения:[Посмотреть]
Цитата:
Сообщение от Kostyan Посмотреть сообщение
потести, а то я не успел, может баги где есть...
он же сказал, что ему на c надо, на с такие конструкции не прокатят, даже "for(int i=0.." он не поймет
Insya вне форума   Ответить с цитированием
Старый 05.10.2008, 21:57   #8
Kostyan
папуас
 
Аватар для Kostyan
 
Регистрация: 24.01.2006
Адрес: остров в океане

Нарушения:[Посмотреть]
Цитата:
Сообщение от Insya Посмотреть сообщение
он же сказал, что ему на c надо, на с такие конструкции не прокатят, даже "for(int i=0.." он не поймет
тьфу ты! ну если неожиданно понадобиться вариант на c++, то вот пожалуйста) насколько я знаю в гуапе вроде у всех изучение начинается с паскаля или с++. может он опечатался?
__________________
I'm going back to my roots yeah yeah
Reggae music is all that I need!
Lucky Dube
Kostyan вне форума   Ответить с цитированием
Старый 05.10.2008, 22:02   #9
kainen
lsd made me a prostitute
 
Аватар для kainen
 
Регистрация: 24.01.2006

Нарушения:[Посмотреть]
Цитата:
Сообщение от Insya Посмотреть сообщение
могла налажать в синтаксисе, т к на вижуалке на с++ писала

#include "stdafx.h"

int N=4;
int K=3;
int m[4][3]={{5,3,4},{8,1,3},{7,0,4},{9,5,7}};


void FindMinMax(int a[][3], int &imin, int &imax)
{
int jmax=0;
int jmin=0;
int i;
int j;
for (i = 0; i < N; i++)
{
for(j=0; j<K; j++)
{
if (a[imax][jmax] < a[i][j])
{
imax = i;
jmax=j;
}
if (a[imin][jmin] > a[i][j])
{
imin = i;
jmin=j;
}
}
}
}
void main()
{
int imin=0;
int imax=0;
int temp[3];
int i;
int j;
FindMinMax(m, imin, imax);
for(i=0; i<3; i++)
{
temp[i]=m[imin][i];
m[imin][i]=m[imax][i];
m[imax][i]=temp[i];
}

for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
printf("%d", m[i][j]);
}
printf("\r\n");
}
}
так неверная же программа
kainen вне форума   Ответить с цитированием
Старый 05.10.2008, 22:04   #10
kainen
lsd made me a prostitute
 
Аватар для kainen
 
Регистрация: 24.01.2006

Нарушения:[Посмотреть]
да, я зануда
kainen вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Язык дороги" STem Авто 62 02.02.2007 15:52


Текущее время: 22:23. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot