Jump to content

Ajuda com arrays


nana91
 Share

Recommended Posts

Olá pessoal, mais uma vez volto a frisar que sou novata em C, e precisava que me dessem umas luzes acerca deste meu problema:

Programa de uma void função plus , que, dado um array de inteiros, o seu tamanho, e um valor inteiro, acrescenta este valor para cada elemento da matriz.

O que tenho até agora é isto:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <assert.h>

int ints_get (int *a)
{
  int result = 0;
  while (scanf ("%d", &a[result]) != EOF)
    result++;
  return result;
}

int ints_get_some (int *a, int n)
{
  int i;
  for (i = 0; i < n; i++)
    scanf ("%d", &a[i]);
  return n;
}

void ints_put (int *a, int n, char *separator)
{
  if (n>0)
  {
    int i;
    printf ("%d", a[0]);
    for (i = 1; i < n; i++)
      printf ("%s%d", separator, a[i]);
  }
}

void ints_putln (int *a, int n, char *separator)
{
  ints_put (a, n, separator);
  printf ("\n");
}

void ints_show (int *a, int n)
{
  printf ("%d", n);
  if (n > 0)
  {
    printf (" ");
    ints_put (a, n, " ");
  }
  printf ("\n");
}

void exercise_1_1 (void);

int main (void)
{
  exercise_1_1 (); // A
  return 0;
}

int plus (int n_numbers, int x)
{

}

void exercise_1_1 (void)
{
int numbers[1000];
int n_numbers;
int x; // number to add
scanf ("%d", &x);
n_numbers = ints_get (numbers);
plus (numbers, n_numbers, x);
ints_show (numbers, n_numbers);
}

Mas dá-me os seguintes erros:

1>------ Build started: Project: L_2, Configuration: Debug Win32 ------

1>  ex_2_test_functions.c

1>c:\users\utilizador\documents\m3\pi\sources\ex_2_test_functions.c(71): warning C4047: 'function' : 'int' differs in levels of indirection from 'int [1000]'

1>c:\users\utilizador\documents\m3\pi\sources\ex_2_test_functions.c(71): warning C4024: 'plus' : different types for formal and actual parameter 1

1>c:\users\utilizador\documents\m3\pi\sources\ex_2_test_functions.c(71): warning C4020: 'plus' : too many actual parameters

1>c:\users\utilizador\documents\m3\pi\sources\ex_2_test_functions.c(62): warning C4716: 'plus' : must return a value

Podem ensinar-me mais sobre arrays e já agora dizerem-me onde estou a errar.

P:S: Eu sei que falta a parte principal do problema. Não quero o exercício resolvido, simplesmente preciso de umas "luzes".

Link to comment
Share on other sites

int plus (int n_numbers, int x)

plus (numbers, n_numbers, x);

a função plus espera dois parâmetros inteiros, no entanto estás a chamar a função com 3 parâmetros , uma lista de inteiros mais dois inteiros.

como o código até agora parece estar bom, deves conseguir fazer o resto sozinha ...

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.