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

Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Робота с текстовими файлами http://www.cyberforum.ru/cpp-beginners/thread579073.html
1.1 Задача 1 В текстовом файле src.txt в каждой строке записывается выражение вида:A op B Где: A – вещественное число; В – целое число op – знак операции из набора {+, -, /, *} Обработать заданный файл src.dat и сформировать файл res.txt, в котором каждая строка формируется из соответствующей исходной строки и имеет вид: A op B = R где R – это результат данного выражения.
C++ Волокна Где можно почитать про волокна в С? Подскажите книжку какую нибудь,сайт... http://www.cyberforum.ru/cpp-beginners/thread579068.html
C++ Сортировка слиянием
Добрый вечер. C си начал совсем недавно работать, до этого был паскаль, делфи. Есть рабочий код на паскале, прошу помочь разобраться в чем ошибка, в переделанном мною коде под си. Код Паскаль: program SortSlian; uses crt; type mas=array of integer; procedure Sliv(var a:mas;p,q : integer); {процедура сливающая массивы, p-начало, q-конец} var r,i,j,k : integer; b:mas; begin
C++ Реализация классов вектор и строка
Для лабораторной работы нужно было написать свою реализацию классов вектор и строка. Выкладываю что получилось, может, кому пригодится. Кому не лень, пожалуйста, просмотрите код, скажите, что не так сделано, какие есть ошибки, чего не хватает и т.д. #include <iostream> #include <stdexcept> #include <utility> using std::rel_ops::operator!=; using std::rel_ops::operator>; using...
C++ Пользуясь только операцией умножения, получить а5 и а13 за пять операций. http://www.cyberforum.ru/cpp-beginners/thread579024.html
Здравствуйте! Помогите с программированием пожалуйста! Нужно написать программу на языке С++. Дано вещественное число а. Пользуясь только операцией умножения, получить а5 и а13 за пять операций. Заранее спасибо!
C++ Определить класс «Массив целых чисел» Определить класс «Массив целых чисел». Определить операции пересечения двух массивов; сортировки массива (максимальная оценка «хорошо>>) подробнее

Показать сообщение отдельно
F. Alonso
1 / 1 / 0
Регистрация: 06.04.2011
Сообщений: 117
18.05.2012, 21:01     Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент
Привет! Помогите, пожалуйста, изменить код.Он рабочий,но у него есть недостаток, он без функций, а надо в виде функции. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.

Задание:Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.
Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент.

Код
#include <iostream>
#include <time.h>
#include <conio.h>
 
using namespace std;
 
int main()
{
        int a[6][5];
        int temp[6];
        int i, j;
 
        srand(time(NULL));
 
        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;
}
и еще, если не затруднит)
преподавателю не понравилась перестановка столбцов матрицы, нужно как-то логически, но как именно это организовать до меня не доходит

Код
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];
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru