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

программа неправильно считает - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рекурсия http://www.cyberforum.ru/cpp-beginners/thread64175.html
Помогите решить задачу: написать процедуру сортировки массива методом простого выбора.
C++ Массивы Помогите решить задачу на С. Используйте одномерный массив для решения следующей задачи. Компания оплачивает работу своих продавцов с учетом комиссионных.Продавцы получают $200 в неделю плюс 9% от их валового сбыта.Например,валовой сбыт которого составляет $3000 в неделю,получит $200 плюс 9% от $3000,или в сумме $470. Напишите программу на С (с массивом счетчиком)для определения количества... http://www.cyberforum.ru/cpp-beginners/thread64170.html
Нужно переделать проекты через указатели.Буду очень благодарен) C++
Переделать всё через указатели. №1 Удалить элементы кратные 7. Добавить после каждого нечетного элемента массива элемент со значением 0. #include "stdafx.h" #include <iostream> #include <locale> using namespace std; int _tmain(int argc, _TCHAR* argv)
Объединение структур данных C++
Есть такое задание : Объявите три структуры с элементами целого типа:очередь dmer ,вектор a_vec,и список a_list.Заполните список и вектор элементами.При помощи алгортма merge объедените в очереди вектор a_vec и список a_list. Выведите содержимое полученной очереди на экран.Помогите пожалуйста написать программу.
C++ действительные числа (С++) http://www.cyberforum.ru/cpp-beginners/thread64147.html
Подскажите пожалуйста как с помощью функции: #include <sstream> //----------------------- stringstream tmp; tmp << s; tmp >> d; решить эту задачу, на сколько я понял, необходимо проверить правильность числа, переведя его в строку. Вот условие задачи: Необходимо проверить, является ли данный рядок правильно записанным
C++ Составить описание класса "время" ПОМОГИТЕ ПОЖАЛУЙСТА СДЕЛАТЬ РАБОТУ!!!! Время задается в формате час:минута:секунда. Методы класса: а) добавление ко времени заданного количества минут (учесть переход через 24 часа); б) добавление ко времени заданного количества секунд (учесть переход через 24 часа); в) вычитание из времени заданного количества минут (учесть переход через 24 часа); г) вычитание из времени заданного... подробнее

Показать сообщение отдельно
mus
52 / 59 / 6
Регистрация: 22.03.2009
Сообщений: 173

программа неправильно считает - C++

15.11.2009, 22:16. Просмотров 550. Ответов 1
Метки (Все метки)

Здравствуйте написал программу но она считает неправильно кол-во столбцов либо не считает вовсе.

Предполагаю что нужно что то менять в перемемнной k, но игрался с разными её положениями в процедуре ничего не помогло.

Подскажите плз в чем ошибка ? зарание благодарен

Вот сама задача: Посчитать сумму отрицательных элементов в каждом столбце матрицы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <conio.h>
const int nElem = 20;
struct Massiv_2{int Rows, Cols; float array2[nElem][nElem];};
struct Massiv_1{int Cols; float array1[nElem];};
// Прототипы функций:
Massiv_2 init(int m, int n);        // инициализация двухмерного массива;
void out2(Massiv_2 mas2);   // вывод элементов двухмерного массива;
Massiv_1 sum_minus_in_cols (Massiv_2 mas2); // суммы модулей в строках;
void out1(Massiv_1 mas1);   // вывод элементов одномерного массива.
 
void main(void)
{
clrscr(); randomize();
int M, N;
cout<<"Rows "<<"(<="<<nElem<<"): ";cin>>M;
cout<<"Cols "<<"(<="<<nElem<<"): ";cin>>N;
Massiv_2 m2= init(M,N);
out2(m2);
Massiv_1 m1 = sum_minus_in_cols(m2);
out1(m1);
getch();
}
 
// Объявление функций.
Massiv_2 init(int m, int n)
{Massiv_2 mas2; mas2.Rows = m; mas2.Cols = n;
for(int i = 0; i < m; i++)
  for(int j = 0; j < n; j++)
   mas2.array2[i] [j] = (float)(random(30) - 15) / 10;
return mas2;
}
 
void out2(Massiv_2 mas2)
{for(int i = 0; i < mas2.Rows; i++)
  {for(int j = 0; j < mas2.Cols; j++)
        cout << setprecision(2) << setw(5) << mas2.array2[i] [j];
  cout<<"\n";
  }
}
 
Massiv_1 sum_minus_in_cols(Massiv_2 mas2)
{
Massiv_1 mas1;
float S;
int k=-1;
mas1.Cols = mas2.Rows;
for(int i = 0; i<mas1.Cols; i++) mas1.array1[i] = 0;
for(int i=0; i < mas2.Cols; i++)
  {
 
    S=0;
    for(int j = 0; j<mas2.Rows; j++)
     {   ++k;
      if (mas2.array2[i][j] < 0)
       {
 
        mas1.array1[k] += mas2.array2[i][j];
       }
     }
  }
return mas1;
}
 
void out1(Massiv_1 mas1)
{cout<<"\n";
for(int i = 0; i < mas1.Cols; i++)
  cout << setprecision(2) << setw(5) << mas1.array1[i];
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru