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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2013, 22:07   #1
vitaxa3581
Пользователь
 
Регистрация: 14.12.2012
Сообщений: 19
По умолчанию Преобразование матрицы

ребята как сделать так чтоб в матрице менялись местами второй и последний столбцы если они состоят только из отрицательных элементов. в моем варианте они просто меняются, а надо чтоб менялись только когда эти столбцы состоят только из отрицательных.




Код:
#include <stdio.h>
#include <conio.h>
#define N 50
#define M 50
int main()
{
/* ==============  Исходные данные ================*/
int m, n;                  
int i, j;          // переменные циклов
int temp [N];     // временный масив          
int A[N][M];       // матрица     
 
 
/* ================ Создание матрицы  =====================*/
 
 printf("\n Введите количество строк и столбцов прямоугольной матрицы.\n");
 printf ("\n Cтроки: ");
   scanf("%d", &m);
 printf ("\n Cтолбцы: ");
   scanf("%d", &n);
   
   if ((m>1 && n>1 && m!=n)&& (m<M && n<N ))
         {
                      printf("\n========== Введите матрицу ================\n");
                      for (i=0; i<n; i++)
                      
            for (j=0; j<m; j++)
             { printf("\n Элемент %d столбца:", i+1);
                              printf (" A [%d] [%d] ", j, i);
                      scanf("%d", &A[j][i]);
                
                 }
                printf("\n============ Исходная матрица ==============\n");
                printf("\n");
               for ( j = 0; j < m; j ++ ) // цикл по строкам
                                                            { 
               for ( i = 0; i < n; i ++ ) // вывод одного столбца (в цикле)
           printf ( "%2d ", A[j][i] ); // 4 символа на число
           printf("\n \n");
                                                 } 
 /*======== меняем местами столбцы =============*/ 
           
                                for (j=0; j<m; j++)
                                    {
                                        temp [N] = A[j][1];
                                        A[j][1]=A[j][n-1];
                                        A[j][n-1]=temp[N];}
                                    
 
         
                                    printf("\n========== Преобразованая матрица ========== \n");
                                    printf("\n");
               for ( j = 0; j < m; j ++ ) // цикл по строкам
                                                            { 
               for ( i = 0; i < n; i ++ ) // вывод одного столбца (в цикле)
           printf ( "%2d ", A[j][i] ); // 2 символа на число
           printf("\n \n");
                                                 }                              
                                    }
         
 else printf("\n Ошибка!!! Повторите ввод!");
getch();
return 0;
}
vitaxa3581 вне форума Ответить с цитированием
Старый 12.03.2013, 22:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты опиши еще цикл, в котором будет проход по этим столбикам с подсчетом отрицательных, и если их столько сколько строк то... :
Код:
int q=0,w=0;
for (j=0; j<m; j++) {q+=(A[j][1]<0)?1:0; w+=(A[j][n-1]<0)?1:0;}
if( q==m && w==m){
 тут код меняющий столбцы
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.03.2013, 23:03   #3
vitaxa3581
Пользователь
 
Регистрация: 14.12.2012
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А ты опиши еще цикл, в котором будет проход по этим столбикам с подсчетом отрицательных, и если их столько сколько строк то... :
спасибо огромное за то что мысли привели в порядок, мысль в голове кружилась, а выразить ее не мог.
vitaxa3581 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование матрицы FYBVFPFYBC Общие вопросы C/C++ 5 16.12.2012 02:40
Преобразование матрицы P91 Помощь студентам 2 21.10.2012 18:13
Матрицы. Преобразование (C#) RIOs Помощь студентам 1 08.06.2012 22:13
преобразование матрицы. Dmitriy_ Помощь студентам 0 25.05.2011 22:24
Преобразование матрицы C++ MissFehn Помощь студентам 1 20.05.2011 07:45