Graadinsh Ierakstīts Novembris 24, 2015 Share Ierakstīts Novembris 24, 2015 Kādēļ palaižot programmu un ievadot pirmo skaitli tā uzmet project1.exe stoped working? #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int ped; int sk1,sk2,sk3,sk4,sk5,sk6,sk7,sk8,sk9; while(ped > 0 || ped < 0) { printf("Ievadiet 10 skaitlus: \n"); scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d"), sk1,sk2,sk3,sk4,sk5,sk6,sk7,sk8,sk9,ped; } system("PAUSE"); return 0; } Link to comment Share on other sites More sharing options...
nevertell Novembris 24, 2015 Share Novembris 24, 2015 Visus tos mainīgos vajag padot ar referenci nevis vērtību. Jebšu, padod nevis sk1, bet &sk1. Vispār jau tur var smuku masīvu uztaisīt. #include<stdio.h> int main(){ int a[10] = {}; for (int i=0; i < 10; i++){ scanf("%d \n", &a[i]); } for (int i=0; i < 10; i++){ printf("%d in %lu \n", a[i], &a[i]); } return 0; } Ej nu tagad saproti, ko tas & dara un ko viņš ziemā ēd. Link to comment Share on other sites More sharing options...
učuks Novembris 25, 2015 Share Novembris 25, 2015 Tas & saka, ka scanf'am rezultāts jāielasa adresē kurā atrodas a vērtība, šajā gadījumā a'tais. Deklarējot mainīgo, vai šajā gadījumā masīvu no mainīgajiem, tiek izdalīta atmiņa, kur tas atradīsies (jau atrodas). Vispār jau nu atkarībā no kompilatora versijas, sākotnēji šajā vietā arī vai nu jau ieraksta 0-lles, or neieraksta. Link to comment Share on other sites More sharing options...
AndrisBB Novembris 25, 2015 Share Novembris 25, 2015 Un arī tam 'ped' vajadzētu iedot kautkādu noteiktu vērtību'savādāk ja trāpīsies 0 tad tavs cikls nekad neizpildīdies Link to comment Share on other sites More sharing options...
Senilikis Novembris 25, 2015 Share Novembris 25, 2015 (labots) while(ped > 0 || ped < 0) Tā neviens normāls cilvēks neraksta, vienkārši while(ped!=0), (nav vienāds ar nulli). Kā nevertell rakstīja tad labāk izveidot masīvu, ērtāk un pareizāk ir izmantot pointerus, protams bez cikla neiztikt. #include <stdio.h>#include <stdlib.h>#define size 10main(){ int *p,i; p=(int*)malloc(sizeof(int*)*size); for(i=0;i<size;i++){ printf("%d.elements ",i+1); scanf("%d",(p+i)); // var rakstit ari &*(p+i), kautvai ta neviens nedara } for(i=0;i<size;i++){ printf("\n%d.elements %d",i+1,*(p+i)); } return 0;} Un tās mulķības, ko tu sarkastīji, labāk aizmirsti. Labots Novembris 25, 2015 - Senilikis Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!