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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2011, 01:21   #1
Lellya
 
Регистрация: 15.02.2011
Сообщений: 5
По умолчанию работа с двумерными массивами

И еще огромная просьба помочь здесь

Задание:

Написать программу на языке СИ, которая осуществляет обработку двумерного массива
Ввод массива с клавиатуры или из файла с расширеним .DAT (именно с этим условием и возникают проблемы)

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

Текущая работа
Код:
#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(int i = 0; i < rows; ++i){
    matr[i] = new int [columns];
    for(int j = 0; j < columns; ++j){
      matr[i][j] = rand() % 20 - 10;
      std::cout << std::setw(3) << 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;
}

Последний раз редактировалось Lellya; 15.02.2011 в 01:24.
Lellya вне форума Ответить с цитированием
Старый 15.02.2011, 09:49   #2
Lellya
 
Регистрация: 15.02.2011
Сообщений: 5
По умолчанию

Спасибо, уже не надо
Lellya вне форума Ответить с цитированием
Старый 15.02.2011, 10:21   #3
CepbIu
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 91
По умолчанию

Цитата:
Сообщение от Lellya Посмотреть сообщение
Спасибо, уже не надо
офф, 2???
извините, но препод прав... я бы выгонял... сразу...
CepbIu вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с двумерными массивами в Delphi 7 islam Помощь студентам 1 04.05.2010 18:24
Работа с двумерными массивами в Delphi 7 islam Помощь студентам 0 04.05.2010 17:29
работа с двумерными массивами curly182 Паскаль, Turbo Pascal, PascalABC.NET 1 16.05.2009 17:56
Подпрограммы(работа с двумерными массивами) DimoniusX Помощь студентам 0 15.04.2009 09:52
Работа с двумерными массивами KJIOyH Помощь студентам 4 03.11.2007 20:03