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

работа с двумерными массивами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ ОБНУЛЯЕТСЯ ДРОБНАЯ ЧАСТЬ ПРИ СОРТИРОВКЕ МАССИВА!!! http://www.cyberforum.ru/cpp-beginners/thread273962.html
Массив B сформировать по правилу b = sqrt(fabsf(i * i - a)), где a=25.8. Найти сумму элементов с номерами с 5-го по 10-ый, упорядочить эти элементы по убыванию и найти произведение элементов Bi < 8.5. Все я сделал, но почему-то при сортировке массива дробная часть обнуляется. Почему так происходит? #include "stdafx.h" #include "iostream" #include "conio.h" #include "stdlib.h" #include...
C++ Модификация записи в файле структур Необходимо удалить запись из произвольной точки файла. Написал код: void delete_record() { SONG tmp; // #define SONG_SIZE sizeof(SONG) long delete_item_pos = (current_start + (current_line -3 ) / 2) * SONG_SIZE; long next_item = delete_item_pos + SONG_SIZE; if (delete_item_pos < file_size * SONG_SIZE) { while (next_item < (file_size * SONG_SIZE)) {... http://www.cyberforum.ru/cpp-beginners/thread273956.html
Разработать тип данных graf, определив для него операции добавления и вычитания C++
помогите срочно нужно!!! разработать тип данных graf, определив для него операции добавления и вычитания!!
C++ Класс-Контейнер Вектор
Вставить новый элемент после всех элементов, кратных своему номеру
C++ как переделать? http://www.cyberforum.ru/cpp-beginners/thread273946.html
нужно как-то зделать тоже самое только методом касательных. #include<stdio.h> #include<conio.h> #include<math.h> float function(float x) { float h;
C++ Сортировка массива по методу убывания? Массив B сформировать по правилу b = sqrt(fabsf(i * i - a)), где a=25.8. Найти сумму элементов с номерами с 5-го по 10-ый, упорядочить эти элементы по убыванию и найти произведение элементов Bi < 8.5. Все я сделал, но почему-то при сортировке массива дробная часть обнуляется. Почему так происходит? #include "stdafx.h" #include "iostream" #include "conio.h" #include "stdlib.h" #include... подробнее

Показать сообщение отдельно
Larka91
 Аватар для Larka91
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 27
10.04.2011, 23:02     работа с двумерными массивами
Здравствуйте, нужна помощь переделать программу под условие (смотреть пр. файл)


Задание:

Дана прямоугольная матрица
Определить:

1. количество столбцов, не содержащих ни одного нулевого элемента
2. сумма положительных четных элементов каждой строки

Условие:

http://www.cyberforum.ru/attachment....1&d=1302462048

Текущий листинг:

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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
#include <conio.h>
 
int main(){
  setlocale(2, ".1251");
  size_t rows, columns;
  std::cout << "\nВведите количество строк: ";
  std::cin >> rows;
  std::cout << "\nВведите количество столбцов: ";
  std::cin >> columns;
  int **matr = new int*[rows];
  srand(time(0));
  for (size_t i = 0; i < rows; i++)
    {
        matr[i] = new int [columns];
        for (size_t j = 0; j < columns; j++)
        {
            std::cout << "Введите А["<< i << "][" << j << "] й элемент: ";
            std::cin >> matr[i][j];
        }
    }
    /*Этот цикл оставить по необходимости, он нужен чтобы показать полученную матрицу*/
    for (size_t i = 0; i < rows; i++)
    {
        for (size_t j = 0; j < columns; j++)
            std::cout << matr[i][j] << " ";
        std::cout << std::endl;
    }
  bool key;
  size_t cnt_not_null_cols = 0;
  for(int j = 0; j < rows; ++j){
    key = true;
    for(int i = 0; i < columns; ++i){
      ( !matr[i][j] )? key = false : 0;
    }
    ( key )? ++cnt_not_null_cols : 0;
  }
  std::cout << "\n\nКоличество столбцов, не содержащих нулевого элемента : " << cnt_not_null_cols << std::endl;
  int sum;
  for(int i = 0; i < rows; ++i){
    sum = 0;
    for(int j = 0; j < columns; ++j){
      ( matr[i][j] > 0 && !( matr[i][j] % 2 ) )? sum += matr[i][j] : 0;
    }
    
    std::cout << "\n -> " << sum;
  }
  for(int i = 0; i < rows; ++i){
    delete[] matr[i];
  }
  delete[] matr;
 
  getch();
  return 0;
}
Миниатюры
работа с двумерными массивами  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru