nana91 Posted March 20, 2012 at 01:23 PM Report #444747 Posted March 20, 2012 at 01:23 PM 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".
HappyHippyHippo Posted March 20, 2012 at 03:02 PM Report #444757 Posted March 20, 2012 at 03:02 PM 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 Portugol Plus
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now