format string '%d' requires an argument of type 'int *', but variadic argument 1 has type 'int'
A ovo je error koji izbacuje.
A ovo je error koji izbacuje.
Donji video pokazuje kako da instalirate aplikaciju na početni ekran svog uređaja.
Napomena: This feature may not be available in some browsers.
Treba da ti budu jasne 3 stvari? C nizovi nemaju bound check.printf nema nikakvu proveru tipa. C niz kad se baci kao parametar konvetuje se u pointerMoze li neko da pokrene ovaj program? Mene izbacuje visual studio na desktop a online kompajleri nece da pokrenu, ne znam jel pravim neku gresku, sve mi se cini ispravno.
#include <stdio.h>
void main() {
int niz1[10], niz2[10], niz3[10], i, size1, size2, size3;
printf("Unesite velicinu prvog niza: \n");
scanf("%d", &size1);
printf("Unesite elemente niza velicine %d\n", size1);
for (i = 0; i < size1; i++) {
scanf("%d", niz1);
}
printf("Elementi prvog niza su: \n");
for (i = 0; i < size1; i++) {
printf("%d\n", niz1);
}
printf("Unesite velicinu drugog niza: \n");
scanf("%d", &size2);
printf("Unesite elemente niza velicine %d\n", size2);
for (i = 0; i < size2; i++) {
scanf("%d", niz2);
}
printf("Elementi drugog niza su: \n");
for (i = 0; i < size2; i++) {
printf("%d\n", niz2);
}
if (size1 == size2) {
size3 = size1 + size2;
for (i = 0; i < size1; i++) {
niz3 = niz1;
}
for (int j = 0; j < size2; j++) {
niz3 = niz2[j];
i++;
}
for (i = 0; i < size3; i++) {
for (int k, j = i + 1; j < size3; j++) {
if (niz3 <= niz3[j]) {
k = niz3;
niz3 = niz3[j];
niz3[j] = k;
}
}
}
}
printf("Elementi treceg opadajuceg niza su: \n");
for (i = 0; i < size3; i++) {
printf("%d ", niz3);
}
}
Neispravna je poruka o gresci, treba obrnuto.format string '%d' requires an argument of type 'int *', but variadic argument 1 has type 'int'
A ovo je error koji izbacuje.
a ja mislio poruka za printf... u svakom slučaju ne valja ti ni to..A u sustini samo nisam imao & u argumentu u scanf, ***** sam se sa tim pola sata nzm kako nisam video xD
printf("Unesite velicinu prvog niza: \n");
scanf("%d", &size1);
printf("Unesite elemente niza velicine %d\n", size1);
for (i = 0; i < size1; i++) {
scanf("%d", (niz1+i));
}
printf("Elementi prvog niza su: \n");
for (i = 0; i < size1; i++) {
printf("%d\n", niz1[i]);
}
printf("Unesite velicinu drugog niza: \n");
scanf("%d", &size2);
printf("Unesite elemente niza velicine %d\n", size2);
for (i = 0; i < size2; i++) {
scanf("%d", (niz2+i));
}
printf("Elementi drugog niza su: \n");
for (i = 0; i < size2; i++) {
printf("%d\n", niz2[i]);
}
~/.../bmaxa_data/examples >>> cat input.c
#include <stdio.h>
void main() {
int niz1[10], niz2[10], niz3[10], i, size1, size2, size3;
int ok = 0;
while (!ok) {
printf("Unesite velicinu prvog niza: \n");
ok = scanf("%d", &size1);
if (!ok) getchar();
}
printf("Unesite elemente niza velicine %d\n", size1);
for (i = 0; i < size1; i++) {
ok = 0;
while (!ok) {
printf("unesite %d element niza: \n",i);
ok = scanf("%d", &niz1[i]);
if (!ok) getchar();
}
}
}
#include <stdio.h>
void merge(int [], int, int [], int, int []);
int main()
{
int niz1[10], niz2[10], niz3[10], i,c, size1, size2, size3, sorted[200];
printf("Unesite velicinu prvog niza: \n");
scanf("%d", &size1);
printf("Unesite elemente niza velicine %d\n", size1);
for (i = 0; i < size1; i++) {
scanf("%d", (niz1+i));
}
printf("Elementi prvog niza su: \n");
for (i = 0; i < size1; i++) {
printf("%d\n", niz1[i]);
}
printf("Unesite velicinu drugog niza: \n");
scanf("%d", &size2);
printf("Unesite elemente niza velicine %d\n", size2);
for (i = 0; i < size2; i++) {
scanf("%d", (niz2+i));
}
printf("Elementi drugog niza su: \n");
for (i = 0; i < size2; i++) {
printf("%d\n", niz2[i]);
}
merge(niz1,size1,niz2,size2,sorted);
printf("Sorted array:\n");
for (size3 = 0; c < size1 + size2; c++) {
printf("%d\n", sorted[c]);
}
}
void merge(int a[], int m, int b[], int n, int sorted[]) {
int i, j, k;
j = k = 0;
for (i = 0; i < m + n;) {
if (j < m && k < n) {
if (a[j] < b[k]) {
sorted[i] = a[j];
j++;
}
else {
sorted[i] = b[k];
k++;
}
i++;
}
else if (j == m) {
for (; i < m + n;) {
sorted[i] = b[k];
k++;
i++;
}
}
else {
for (; i < m + n;) {
sorted[i] = a[j];
j++;
i++;
}
}
}
}
Sta ako elementi niza a i b nisu sortirani?Готово.
C:#include <stdio.h> void merge(int [], int, int [], int, int []); int main() { int niz1[10], niz2[10], niz3[10], i,c, size1, size2, size3, sorted[200]; printf("Unesite velicinu prvog niza: \n"); scanf("%d", &size1); printf("Unesite elemente niza velicine %d\n", size1); for (i = 0; i < size1; i++) { scanf("%d", (niz1+i)); } printf("Elementi prvog niza su: \n"); for (i = 0; i < size1; i++) { printf("%d\n", niz1[i]); } printf("Unesite velicinu drugog niza: \n"); scanf("%d", &size2); printf("Unesite elemente niza velicine %d\n", size2); for (i = 0; i < size2; i++) { scanf("%d", (niz2+i)); } printf("Elementi drugog niza su: \n"); for (i = 0; i < size2; i++) { printf("%d\n", niz2[i]); } merge(niz1,size1,niz2,size2,sorted); printf("Sorted array:\n"); for (size3 = 0; c < size1 + size2; c++) { printf("%d\n", sorted[c]); } } void merge(int a[], int m, int b[], int n, int sorted[]) { int i, j, k; j = k = 0; for (i = 0; i < m + n;) { if (j < m && k < n) { if (a[j] < b[k]) { sorted[i] = a[j]; j++; } else { sorted[i] = b[k]; k++; } i++; } else if (j == m) { for (; i < m + n;) { sorted[i] = b[k]; k++; i++; } } else { for (; i < m + n;) { sorted[i] = a[j]; j++; i++; } } } }
Па на крају их сортирам кроз мерге.Sta ako elementi niza a i b nisu sortirani?
Nesto mi ne deluje da je tako...Па на крају их сортирам кроз мерге.
Хмм, сад видим да сам направио зајеб. Моменто.Nesto mi ne deluje da je tako...
mislim da samo prvo treba da sortiras prvi i drugi i tek onda pozoves merge...Хмм, сад видим да сам направио зајеб. Моменто.
#include <stdio.h>
void merge(int [], int, int [], int, int []);
int main() {
int niz1[100], niz2[100], size1, size2, c, sorted[200];
printf("Broj elemenata prvog niza\n");
scanf("%d", &size1);
printf("Unesite %d elementa\n", size1);
for (c = 0; c < size1; c++) {
scanf("%d", &niz1[c]);
}
printf("Broj elemenata drugog niza\n");
scanf("%d", &size2);
printf("Unesite %d elemente\n", size2);
for (c = 0; c < size2; c++) {
scanf("%d", &niz2[c]);
}
merge(niz1,size1,niz2,size2,sorted);
printf("Sortiran niz:\n");
for (c = 0; c < size1 + size2; c++) {
printf("%d\n", sorted[c]);
}
return 0;
}
void merge(int a[], int m, int b[], int n, int sorted[]) {
int i, j, k;
j = k = 0;
for (i = 0; i < m + n;) {
if (j < m && k < n) {
if (a[j] < b[k]) {
sorted[i] = a[j];
j++;
}
else {
sorted[i] = b[k];
k++;
}
i++;
}
else if (j == m) {
for (; i < m + n;) {
sorted[i] = b[k];
k++;
i++;
}
}
else {
for (; i < m + n;) {
sorted[i] = a[j];
j++;
i++;
}
}
}
}
Pogledajte prilog 761883C:#include <stdio.h> void merge(int [], int, int [], int, int []); int main() { int niz1[100], niz2[100], size1, size2, c, sorted[200]; printf("Broj elemenata prvog niza\n"); scanf("%d", &size1); printf("Unesite %d elementa\n", size1); for (c = 0; c < size1; c++) { scanf("%d", &niz1[c]); } printf("Broj elemenata drugog niza\n"); scanf("%d", &size2); printf("Unesite %d elemente\n", size2); for (c = 0; c < size2; c++) { scanf("%d", &niz2[c]); } merge(niz1,size1,niz2,size2,sorted); printf("Sortiran niz:\n"); for (c = 0; c < size1 + size2; c++) { printf("%d\n", sorted[c]); } return 0; } void merge(int a[], int m, int b[], int n, int sorted[]) { int i, j, k; j = k = 0; for (i = 0; i < m + n;) { if (j < m && k < n) { if (a[j] < b[k]) { sorted[i] = a[j]; j++; } else { sorted[i] = b[k]; k++; } i++; } else if (j == m) { for (; i < m + n;) { sorted[i] = b[k]; k++; i++; } } else { for (; i < m + n;) { sorted[i] = a[j]; j++; i++; } } } }
~/.../bmaxa_data/examples >>> ./a.out
Broj elemenata prvog niza
3
Unesite 3 elementa
3
5
1
Broj elemenata drugog niza
3
Unesite 3 elemente
4
6
2
Sortiran niz:
3
4
5
1
6
2
Prosto je 1. i 2. niz moraju prvo biti sortirani i onda radi...Погледам сутра, сад ми се спава.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int i,j,column,row,myGrades[column][row];
time_t t;
srand((unsigned) time(&t));
printf("\n Unesite broj kolona i redova");
scanf("%d %d",&column,&row);
for(i=0;i<column;i++)
for(j=0;j<row;j++)
{
myGrades[ i ] [ j ]=rand()%100;
printf("Vrednost elementa niza %d %d vrednost %d",i,j,myGrades[ i ] [ j ]);
printf("\n");
}
return 0;
}
Cek, cek. Izvini, ja sam novajlija u ovom programiranju, jos ucim. Nije mi jasno bas sta sam pogresio i kako program radi ako sam pogresio?Ne valja. column i row nisu inicijalizovani a sa time definises VLA.
Premesti definiciju VLA nakon scanf. Sa obzirom da koristis c99, to se moze.
edit:
niko zivi ne proverava da li je scanf uspeo
Cek, cek. Izvini, ja sam novajlija u ovom programiranju, jos ucim. Nije mi jasno bas sta sam pogresio i kako program radi ako sam pogresio?
Ima druga slicica sa ispisom, sad sam bas jos jednom probao i ispisuje mi vrednosti kako treba.
Hoces da kazes da sam int row, column; trebao da stavim ispod scanf?
e to stavi iza scanf. To je VLA koji se tu inicijalizauje na slucajne u memoriji vrednosti.myGrades[column][row];