Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с вызовом функции 
:(
    Опции темы
Magnum4635
Дата 26.10.2013, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 26.10.2013
Где: Молдова, Бельцы

Репутация: нет
Всего: нет



Написал несколько функций: ввода/вывода двумерного массива, поиск мин, макс элементов... 
ПРОБЛЕМА: при их вызове не выводит никакого значения... ПРОСЬБА проверить и исправить ошибки...


Код
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define NMAX 10
int VvodMassiva (int x[NMAX][NMAX], int n, int m){
    int i,j;
      for (i=0; i<n; i++){
    for (j=0; j<m; j++){
       printf("Element [%d][%d]= ", i,j);
         scanf("%d",&x[i][j]);
      }
   }
   return n,m;
}

int RandomVvod (int x[NMAX][NMAX], int n, int m){
    int i,j;
   randomize();
   for (i=0; i<n; i++)
    for (j=0; j<m; j++)
       x[i][j] = random(100);
   return n,m;
}

void VivodMassiva (int x[NMAX][NMAX], int n, int m){
    int i,j;
   printf("\nMassiv:\n");
   for (i=0; i<n; i++){
    for (j=0; j<m; j++)
       printf("%8d", &x[i][j]);
      printf("\n");
   }
}

int Maximum (int x[NMAX][NMAX], int n, int m){
    int i,j,max;
   max = x[0][0];
   for (i=0; i<n; i++)
    for (j=0; j<m; j++)
       if (x[i][j]>max)
          max = x[i][j];
   return max;
}

int Minimum (int x[NMAX][NMAX], int n, int m){
    int i,j,min;
   min = x[0][0];
   for (i=0; i<n; i++)
    for (j=0; j<m; j++)
       if (x[i][j]<min){
          min = x[i][j];}
   return min;
}


void main(){
    int n,m;
   int y;
   int min,max;
   int i,j;
   int x[NMAX][NMAX];
   printf("Vvedite kol-vo strok: ");
   scanf("%d",&n);
   printf("Vvedite kol-vo stolbtsov: ");
   scanf("%d",&m);
   printf("\nVruchnuiu...1, random...2: ");
   scanf("%d", &y);
   if (y==1)
    VvodMassiva(x,n,m);
   else
    RandomVvod(x,n,m);
   VivodMassiva(x,n,m);
   max = Maximum(x,n,m);
   min = Minimum (x,n,m);
   printf("\n Min: ", min);
   printf("\n Max: ", max);
   getch();
}


PM MAIL   Вверх
feodorv
Дата 26.10.2013, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(Magnum4635 @  26.10.2013,  15:25 Найти цитируемый пост)
при их вызове не выводит никакого значения... 

Совсем никакого?


Цитата(Magnum4635 @  26.10.2013,  15:25 Найти цитируемый пост)
       printf("%8d", &x[i][j]);

Здесь вместо значения элемента матрицы выводится его адрес. Понимаю, что написано по аналогии со scanf, но это две довольно разные функции.


Цитата(Magnum4635 @  26.10.2013,  15:25 Найти цитируемый пост)
   return n,m;

Что Вы этим хотели сказать?


Цитата(Magnum4635 @  26.10.2013,  15:25 Найти цитируемый пост)
   printf("Vvedite kol-vo strok: ");
   scanf("%d",&n);
   printf("Vvedite kol-vo stolbtsov: ");
   scanf("%d",&m);

Было бы неплохо проверить значения n и m на диапазон [1...NMAX].


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
Magnum4635
Дата 26.10.2013, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 26.10.2013
Где: Молдова, Бельцы

Репутация: нет
Всего: нет



Цитата(feodorv @  26.10.2013,  14:51 Найти цитируемый пост)
Совсем никакого?


Выводило какие-то числа большие



Цитата(feodorv @  26.10.2013,  14:51 Найти цитируемый пост)
 printf("%8d", &x[i][j]);

Здесь вместо значения элемента матрицы выводится его адрес. Понимаю, что написано по аналогии со scanf, но это две довольно разные функции.


блин я и не заметил что поставил "&" - спс


Цитата(feodorv @  26.10.2013,  14:51 Найти цитируемый пост)
return n,m;

Что Вы этим хотели сказать?

Чтобы ф-я возвращала размерность матрицы...
Я еще мало чего понимаю в С++, но я так понимаю это полная фигня что я написал?

теперь массив выодит нормально, но как мне теперь вывести мин и макс значения - у меня их почему-то не выводит (чистые поля)
PM MAIL   Вверх
feodorv
Дата 26.10.2013, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(Magnum4635 @  26.10.2013,  16:09 Найти цитируемый пост)
Чтобы ф-я возвращала размерность матрицы...

Во первых, зачем? Вы это собираетесь где-то использовать?
Во-вторых, размерность массива в подпрограмме не меняется, зачем дублировать аргумент и возвращаемое значение?
В-третьих, два значения сразу с помощью return возвратить не удастся. Код 
Код
return n,m;
эквивалентен просто
Код
return m;



Цитата(Magnum4635 @  26.10.2013,  16:09 Найти цитируемый пост)
Я еще мало чего понимаю в С++

Пишете-то Вы пока на простом С...


Цитата(Magnum4635 @  26.10.2013,  16:09 Найти цитируемый пост)
теперь массив выодит нормально, но как мне теперь вывести мин и макс значения - у меня их почему-то не выводит (чистые поля) 

Ну да, если их не выводить, то будут пустые поля:
Цитата(Magnum4635 @  26.10.2013,  15:25 Найти цитируемый пост)
   printf("\n Min: %d", min);
   printf("\n Max: %d", max);




--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
Magnum4635
Дата 26.10.2013, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 26.10.2013
Где: Молдова, Бельцы

Репутация: нет
Всего: нет



Цитата(feodorv @  26.10.2013,  15:18 Найти цитируемый пост)
Я еще мало чего понимаю в С++

Пишете-то Вы пока на простом С...

Да, сорри описался...
Теперь все работает норм.

спс большое за помощь!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0564 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.