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

Матрица,функция или процедура. - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
All
1742 / 421 / 40
Регистрация: 09.04.2009
Сообщений: 2,535
01.06.2009, 22:53     Матрица,функция или процедура. #1
Доброго всем времени.
Пытаюсь написать функцию или процедуру. ” В заданной целочисленной матрице A(N, M) выведите на печать индексы первого положительного элемента, кратного заданному числу 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
#include<stdio.h>
  #include<conio.h>
  #include<iostream.h>
  void krat()
  {
  //n - Kol-wo strok
  //m - Kol-wo stolbzow
  int K;//Chislo kratnosti
  int i=0, j=0, n, m, arr;
    for (i; i<=n; i++);//prohod po strokam s leva na prawo
      {
      for (j; j<=m; j++);//prohod po stolbtzam swerhu wniz
      {
       //Prowerka uclowii
      if (arr [i][j]>0)//poloshitelnoe
          (arr[i][j]/K)//Kratnost
          if ( K == 0)
          printf("%d\n",i,j);
          }
          //Esli uslowie ne wypol-
          //njaetsja , idem dalshe
          else (j++);
      }
       printf ("%i\nNe naideno");
  getch();       
  }
Будет ли это функцией или процедурой?
Выведите на печать индексы первого положительного элемента, как это можно реализовать. Думается, нужен какой-либо счётчик, но как?
Компилятор ругается: Misplaced else, (22 строка)
Invalid indirection (14.15 строки)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2009, 22:53     Матрица,функция или процедура.
Посмотрите здесь:

C++ Матрица и процедура
C++ Двухмерная матрица и функция
C++ Матрица двухмернная.функция добавить колону
[Матрица] Круг или квадрат? C++
Процедура - не функция! C++
Процедура и функция: Описать функцию Exp l(x,ε) вещественного типа C++
Процедура и функция: Создать другой массив, содержащий отрицательные элементы исходного массива. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
02.06.2009, 00:22     Матрица,функция или процедура. #2
else у тебя стоит не после if, а после скобки от цикла. Отсюда ошибка.
В 15 строке, может, пробле после arr убрать?
А вообще похоже на процедуру, в код не вдавался.
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
02.06.2009, 00:52     Матрица,функция или процедура. #3
На c++ в проекте должна быть программа с именем main ().
После того, как исправите в своей функции ошбки, напишите
int main ()
{
krat();
return 0;
}
В программе вызавется функция krat.
Вообще, у меня ругается на #include <iostream.h>.
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
02.06.2009, 01:00     Матрица,функция или процедура. #4
Цитата Сообщение от qwert Посмотреть сообщение
Вообще, у меня ругается на #include <iostream.h>.
убери .h из названия хедера.

Добавлено через 1 минуту 18 секунд
Цитата Сообщение от qwert Посмотреть сообщение
На c++ в проекте должна быть программа с именем main ().
Рассмотри с точки зрения того, что человек юзает модуль и экспортит эту функцию. Тогда main() совсем не нужен. Дай людям подумать.
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
02.06.2009, 09:30     Матрица,функция или процедура. #5
Цитата Сообщение от Vourhey Посмотреть сообщение
убери .h из названия хедера.
Я про это знаю, я к тому, что там есть такая ошибка.

Цитата Сообщение от Vourhey Посмотреть сообщение
Рассмотри с точки зрения того, что человек юзает модуль и экспортит эту функцию. Тогда main() совсем не нужен. Дай людям подумать.
Ну, исходя из того, что там подключены библиотеки, да и getch () даже есть, то это явно предполагалось, наверное, как готовая функция.
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
02.06.2009, 09:36     Матрица,функция или процедура. #6
Цитата Сообщение от qwert Посмотреть сообщение
Я про это знаю, я к тому, что там есть такая ошибка.
ну смотря под какой компилятор писать... Visual C++ 6 компилит и c .h
а многие так вообще пишут для borland c++ 3.1
All
1742 / 421 / 40
Регистрация: 09.04.2009
Сообщений: 2,535
02.06.2009, 18:44  [ТС]     Матрица,функция или процедура. #7
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
ну смотря под какой компилятор писать... Visual C++ 6 компилит и c .h
а многие так вообще пишут для borland c++ 3.1

Вот именно, Visual C++ 2008 и Borland C++ 3.1 компилят с .h, ими и пользуюсь.

Добавлено через 7 минут 17 секунд
Цитата Сообщение от qwert Посмотреть сообщение
Я про это знаю, я к тому, что там есть такая ошибка.


Ну, исходя из того, что там подключены библиотеки, да и getch () даже есть, то это явно предполагалось, наверное, как готовая функция.
Мне и нужна функция.

Все таки как с этим разобратся?
Выведите на печать индексы первого положительного элемента, как это можно реализовать. Думается, нужен какой-либо счётчик, но как?

Добавлено через 2 минуты 29 секунд
Цитата Сообщение от Vourhey Посмотреть сообщение
else у тебя стоит не после if, а после скобки от цикла. Отсюда ошибка.
В 15 строке, может, пробле после arr убрать?
А вообще похоже на процедуру, в код не вдавался.
Убрал пробел после arr, ошибка таже.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2009, 20:43     Матрица,функция или процедура.
Еще ссылки по теме:

Функция, вызываемое значение которой - матрица. Как это? C++
Матрица и функция (Сложение двух матриц функцией sum) C++
Двухмерная матрица и функция C++
Матрица и процедура C++
C++ Typedef, матрица и функция

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
02.06.2009, 20:43     Матрица,функция или процедура. #8
Попробуй этот
код
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
#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;
 
void out(int *a,int n,int m);
void vin(int *a,int n);
void prof(int *a,int n,int m,int k);
int main(int argc, char* argv[])
{
    setlocale(0,"");
    int *a,
        n,m,k;
    cout << "Введите количество строк матрицы: ";
    wcin >> n;
    cout << "Введите количество столбцов матрицы: ";
    wcin >> m;
    cout << "Введите число: ";
    wcin >> k;
    _flushall();
    a = new int[n*m];
    vin(a,n*m);
    out(a,n*m,m);
    prof(a,n*m,m,k);
    delete[]a;
    getchar();
    return 0;
}
void out(int *a,int n,int m){
    int x = m-1;
    for(int i = 0; i < n;i++){
        cout << a[i] << "   ";
        if(i == x){
            cout << endl;
            x += m;
        }
    }
    cout << "\n\n";
}
void vin(int *a,int n){
    srand(time(0));
    for(int i = 0; i < n;i++)
        a[i] = rand()%401-200;
}
void prof(int *a,int n,int m,int k){
    int x = m-1, 
        y = 0,
        j = 0;
    for(int i = 0;i < n;i++){
        if((a[i] > 0) && (a[i]%k == 0)){
            cout << "Первый положительный элемен, кратный " << k << " A[" << y+1 << "][" << j+1 << "] = " << a[i] <<endl;
            break;
        }
        if(i == x){
            y++;
            x += m;
        }
        if(j == (m-1))
            j = 0;
        j++;
    }
}
Yandex
Объявления
02.06.2009, 20:43     Матрица,функция или процедура.
Ответ Создать тему
Опции темы

Текущее время: 18:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru