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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
All
1758 / 437 / 43
Регистрация: 09.04.2009
Сообщений: 2,589
#1

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

01.06.2009, 22:53. Просмотров 2281. Ответов 7
Метки нет (Все метки)

Доброго всем времени.
Пытаюсь написать функцию или процедуру. ” В заданной целочисленной матрице 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 строки)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2009, 22:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрица,функция или процедура. (C++):

Матрица и процедура - C++
Добрый день, товарищи, такой вопрос возник: акромя как дополнительным оператором функции никак нельзя сделать эту задачу? Хотелось бы...

Матрица и процедура - C++
Народ завтра зачёт помогите, буду очень блогодарен!!! 1.дано целочисленную матрицу размера 3 х4. Найти среднее арифметическое...

Процедура - не функция! - C++
Помогите перевести программу с Pascal на C++. Задача звучит так: Вычислить сумму и произведение N пар заданны вещественных чисел,...

Перегрузка операций: friend-функция или функция-член класса - C++
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и friend. Вот к примеру такой код. class...

Процедура и функция: Описать функцию Exp l(x,ε) вещественного типа - C++
Описать функцию Exp l(x,ε) вещественного типа (параметры x,ε- вещественные,ε&gt;0), находящую приближённое значение функции exp(x): ...

что за функция такая strstr? или это не функция? - C++
void search(sp *list){ sp *prt = list; char f,r; cout&lt;&lt;Rus(&quot;введите текст&quot;)&lt;&lt;endl; cin&gt;&gt;f; cout&lt;&lt;Rus(&quot;введите выходной...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
02.06.2009, 00:22 #2
else у тебя стоит не после if, а после скобки от цикла. Отсюда ошибка.
В 15 строке, может, пробле после arr убрать?
А вообще похоже на процедуру, в код не вдавался.
1
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
02.06.2009, 00:52 #3
На c++ в проекте должна быть программа с именем main ().
После того, как исправите в своей функции ошбки, напишите
int main ()
{
krat();
return 0;
}
В программе вызавется функция krat.
Вообще, у меня ругается на #include <iostream.h>.
1
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
02.06.2009, 01:00 #4
Цитата Сообщение от qwert Посмотреть сообщение
Вообще, у меня ругается на #include <iostream.h>.
убери .h из названия хедера.

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

Цитата Сообщение от Vourhey Посмотреть сообщение
Рассмотри с точки зрения того, что человек юзает модуль и экспортит эту функцию. Тогда main() совсем не нужен. Дай людям подумать.
Ну, исходя из того, что там подключены библиотеки, да и getch () даже есть, то это явно предполагалось, наверное, как готовая функция.
0
Monte-Cristo
2789 / 1375 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
02.06.2009, 09:36 #6
Цитата Сообщение от qwert Посмотреть сообщение
Я про это знаю, я к тому, что там есть такая ошибка.
ну смотря под какой компилятор писать... Visual C++ 6 компилит и c .h
а многие так вообще пишут для borland c++ 3.1
0
All
1758 / 437 / 43
Регистрация: 09.04.2009
Сообщений: 2,589
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, ошибка таже.
0
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++;
    }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2009, 20:43
Привет! Вот еще темы с ответами:

Процедура и функция: Создать другой массив, содержащий отрицательные элементы исходного массива. - C++
доброго времени суток есть код программы //Дан одномерный массив, состоящий из 30 вещественных чисел. //Создать другой массив,...

Typedef, матрица и функция - C++
Всем привет! Написал вот такой код: #include&lt;iostream&gt; using namespace std; const int n=3; typedef double...

Двухмерная матрица и функция - C++
Здравствуйте! Помогите решить задачи на С++. 1. Дана матрица размера MxN. Найти максимальные элементы в каждой строке и их координаты,...

Двухмерная матрица и функция - C++
У меня такая задача: надо задать квадратную матрицу и посчитать сумму элементов главной диагонали(сумму посчитать в функции) написал, но...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.06.2009, 20:43
Ответ Создать тему
Опции темы

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