Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
RIP_REY
0 / 0 / 1
Регистрация: 12.11.2012
Сообщений: 12
#1

Вывести массив на экран из подпрограммы

30.11.2012, 03:02. Просмотров 617. Ответов 4
Метки нет (Все метки)

Помогите вывести, пожалуйста, и посмотрите, правильно ли я подрограмму написал?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int f(int N[70])
{
     int i;
     srand(time(NULL));
     for (i=0; i<70; i++)
     {
         N[i] = rand() % 10 - (rand() % 10);
         printf("%d ", N[i]);
         return N[70];
         }
         }
         
int main()
{
   
  system("PAUSE");  
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 03:02
Ответы с готовыми решениями:

Отсортировать массив по некоторому числовому полю и вывести измененный массив на экран
Есть задание. Структура Journal хранит информацию о студентах группы:...

Дан одномерный массив из n чисел. Вывести на экран, отсортирован ли массив по возрастанию
1. Дан одномерный массив из n чисел. Вывести на экран, отсортирован ли массив...

Массив: вывести на экран новый массив, который формируется по правилу: А0 А1 Аn-1 Аn-2 А2 А3...
Здравствуйте, помогите мне пожалуйста, с решением одной задачи. Дан массив с...

Вывести массив на экран
Здравствуйте недавно написал программу сортировку, но никак не могу вывести...

Вывести массив на экран
Помогите с задачей: Динамическая память. Одномерный массив. Дан массив целых...

4
Roof
154 / 154 / 44
Регистрация: 03.11.2010
Сообщений: 393
30.11.2012, 06:19 #2
Твой вариант неверен, так как функция вывода на экран не должна ничего возвращать.
В следующем варианте я чуток поправил твой код, но в параметре функции int N[ 70 ] указанная размерность никак не влияет на выполнение функции, что не очень хорошо.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
void f( int N[ 70 ] ) {
 
    int i;
    for ( i = 0; i < 70; i++ ) {
        N[ i ] = rand() % 10 - ( rand() % 10 );
        printf( "%d ", N[ i ] );
    }
}
 
int main() {
    srand( time( NULL ) );
 
    int arr[ 70 ];
    f( arr );
 
    system( "PAUSE" );
    return 0;
}
Я предпочитаю передавать каким-то образом в функцию, работающую с массивом, также размер массива. Например, так:
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define SIZE 70
 
void f( int N[], const int sz ) {
 
    int i;
    for ( i = 0; i < sz; i++ ) {
        N[ i ] = rand() % 10 - ( rand() % 10 );
        printf( "%d ", N[ i ] );
    }
}
 
int main() {
    srand( time( NULL ) );
 
    int arr[ SIZE ];
    f( arr, SIZE );
 
    system( "PAUSE" );
    return 0;
}
1
RIP_REY
0 / 0 / 1
Регистрация: 12.11.2012
Сообщений: 12
30.11.2012, 17:48  [ТС] #3
Спс большое) Очень помог)
0
broveymimo
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 10
30.11.2012, 18:08 #4
только зачем целый массив копировать при передаце в функцию? лучше в функцию передать указатель на массив.
C
1
2
3
4
5
6
7
8
void f( int *K, const int sz ) {
 
    int i;
    for ( i = 0; i < sz; i++ ) {
        N[ i ] = rand() % 10 - ( rand() % 10 );
        printf( "%d ", K+i );
    }
}
а вызов функции делать так:

C
1
f( &arr[0], SIZE );
0
Roof
154 / 154 / 44
Регистрация: 03.11.2010
Сообщений: 393
01.12.2012, 00:11 #5
Цитата Сообщение от broveymimo Посмотреть сообщение
только зачем целый массив копировать при передаце в функцию? лучше в функцию передать указатель на массив.
broveymimo, перечитайте литературу о передаче массивов в функцию в языке C. Массив передается в моем вызове именно как указатель на первый элемент массива. В языке C нельзя передать весь массив как аргумент функции.
В списке формальных параметров записи int *N и int N[ ] равносильны.
0
01.12.2012, 00:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2012, 00:11

Сформировать и вывести на экран массив
Сформируйте и выведите на экран массив из девяти элементов, каждые три...

Вывести двумерный массив на экран
Подскажите пожалуйста, что я не так в коде, не выводит двумерный массив. ...

Отсортировать массив и вывести на экран
массив 20 чисел массив вводить рандомом отсортировать массив и вывести на экран


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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