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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите поправить программу? 
:(
    Опции темы
Baton2007
Дата 24.3.2008, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2007

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



Подскажите что делаю неправильно и как исправит нужно с помощью функции заполнить двумерный массив я написал но не пашет в чем проблема?????? 
Код

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>
srand(time(0)); 
int filling_array( int A[][]);
{ int ii , i , n , s;
for(int ii = 0; ii < n; ii ++)
for (int i=0;i<s;i++)
 A[i][ii]=rand()%-10;
}}
int main()
{

int n=3;
int s=3;
int counf = 0;
int ser = 0;
int A[3][3]; 
int filling_array( );

  while(1);
   }



А втора должна проверять элемент массива на остаток от деления на 2
Код


#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>
int checking_fission(int A[]){

int i;
int n=10;
for (int i=1;i<n;i++)
if( A[i] % 2 != 0 )

 A[i]=A[i]*2,printf("%3i",A[i]);
}
int main()
{
int n=10;
int A[n];
srand(time(0));
for (int i=0;i<n;i++)
 {
 A[i]=rand()%10;
printf("%3i",A[i]);
}

printf("\n");
int checking_fission();
while(1);
}




А вот эти проги написанные и рабочие без функций
Код

1)
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>

int main()
{


   int n=10;
   int A[n];
   srand(time(0));// заполнение массива
   for (int i=0;i<n;i++)
   {
       A[i]=rand()%10;
       printf("%3i",A[i]);
   }
   printf("\n");// вывод по условию 
   for (int i=1;i<n;i++)
   {
  if( A[i] % 2 != 0 )// проверка остатка от деления на 2
   {
   A[i]=A[i]*2,printf("%3i",A[i]);}// умножение элемента на 2
   }
   getch();
   }
2)
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>

void main()
{ 
  int n=3;// число элементов
    int s=3;// число строк
    int counf = 0;// счетчик элементов
    int ser = 0;..счетчик среднего арифметического
   int A[3][3]; //матрица
   srand(time(0)); //заполнение массива
   for(int ii = 0; ii < n; ii ++) 
   for (int i=0;i<s;i++)
     A[i][ii]=rand()%-10;

    for (int i=0; i < n; i++){  //вывод массива на экран
    for (int j=0; j < s; j++)
    printf("%d",A[i][j]);
    printf("\n");
    }


  for (int i=0; i < n; i++)
    for (int j=0; j < s; j++)
      if (j - i > 0 && A[i][j] > 0)
         ser+=A[i][j], counf ++;// сложение элементов массива
         printf("summ=%d\n",ser);
            ser = ser/ counf; // вычисление среднего арифметического
              printf("ser=%d",ser);
      getch();


}




PM MAIL   Вверх
Rififi
Дата 24.3.2008, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

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



Первая функция:
Код

template <size_t N, size_t M>
void filling_array(int (&A)[N][M]);
{
    for(int i = 0; i < N; ++i)
        for(int j = 0; j < M; ++j)
            A[i][j] = rand() % -10;
}

использование:
Код

const size_t N = 3;
const size_t M = 3;

int A[N][M];
filling_array(A);

Вторая функция:
Код

// Возврат:
// false = элемент массива чётный
// true = элемент массива нечётный
template <size_t N>
bool checking_fission(int (&A)[N], index)
{
    if (index >= N)
        throw range_error();
    return (A[index] & 1);
}

Использование:
Код

const size_t N = 10;
int A[N];
// заполнение A
// ...
bool is_odd = checking_fission(A, 5);

while(1);
:eek:
это - убрать.

PM MAIL   Вверх
Baton2007
Дата 24.3.2008, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2007

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



В чем ошибка ???Хочу с помощью функции вывести массив , а dev ++ выдает parse error before `['   в строке 
   A[i][j]=display( int A[3][3]);


Код

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>
int display(int A[3][3])
{
    for (int i=0; i < 3; i++){  
    for (int j=0; j < 3; j++)
    printf("%d",A[i][j]);
    printf("\n");
    }

}

void main()
{ printf("Baturin S.V");

int i,j;
  int n=3;
    int s=3;
    int counf = 0;
    int ser = 0;
   int A[3][3]; 
   srand(time(0)); 
   for(int ii = 0; ii < n; ii ++) 
   for (int i=0;i<s;i++)
     A[i][ii]=rand()%-10;

   A[i][j]=display( int A[3][3]);

   while(1);
   }


PM MAIL   Вверх
Optimus
Дата 24.3.2008, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

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



Цитата(Baton2007 @  24.3.2008,  20:13 Найти цитируемый пост)
A[i][j]=display( int A[3][3]);

А что возвращает display(), где return.
--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Baton2007
Дата 24.3.2008, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2007

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



Не помогает таже ошибка !
PM MAIL   Вверх
Optimus
Дата 24.3.2008, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

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



Цитата(Baton2007 @  24.3.2008,  20:30 Найти цитируемый пост)
Не помогает таже ошибка ! 

Я не телепат, напишите что вы изменили

Цитата(Baton2007 @  24.3.2008,  20:13 Найти цитируемый пост)
A[i][j]=display( int A[3][3]);

A[i][j] = display(A);

Цитата(Baton2007 @  24.3.2008,  20:13 Найти цитируемый пост)
int display

Зачем display возвращает значение ?

--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Baton2007
Дата 24.3.2008, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2007

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



Вот так написал теперь компилится и выводит первые 3 элемента вместо матрици

Код

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>
int display(int A[3][3])
{
    for (int i=0; i < 3; i++){ 
    for (int j=0; j < 3; j++)
    printf("%d",A[i][j]);
    printf("\n");

    return(0);
    }

}

void main()
{ printf("Baturin S.V");

int i,j;
  int n=3;
    int s=3;
    int counf = 0;
    int ser = 0;
   int A[3][3];
   srand(time(0));
   for(int ii = 0; ii < n; ii ++) 
   for (int i=0;i<s;i++)
     A[i][ii]=rand()%-10;

   A[3][3]=display(A);

   while(1);
   }


PM MAIL   Вверх
Optimus
Дата 24.3.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

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



Цитата(Baton2007 @  24.3.2008,  20:52 Найти цитируемый пост)
A[3][3]=

Нужно обращаться только от 0 до 2

Цитата(Baton2007 @  24.3.2008,  20:52 Найти цитируемый пост)
первые 3 элемента вместо матрици

Вытащите return из цикла

Перепишите
Код

void display(int A[3][3])
{
    for (int i=0; i < 3; i++)
    { 
      for (int j=0; j < 3; j++)
      printf("%d",A[i][j]);

      printf("\n");
    }
}

main()
{
  ...
  display(A);
  ...
}


--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Baton2007
Дата 24.3.2008, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2007

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



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

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

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

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

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


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

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


 




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


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

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