Pracuję z aplikacją microsoft visual studio 2012 i próbuję zrobić sortowanie bąbelkowe. Oto mój kod:sortowanie bąbelkowe i getchar c
#include "stdafx.h"
#include "String.h"
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int array[100], n, c, d, swap;
printf("enter numbers of elements\n");
scanf_s("%d",&n);
printf("enter %d integers\n", n);
for (c = 0; c < n; c++){
scanf_s("%d", array);
}
for (c = 0; c < (n - 1); c++)
{
for (d = 0; d < n - c - 1; d++)
{
if (array[d]>array[d + 1]){
swap = array[d];
array[d] = array[d + 1];
array[d + 1] = swap;
}
}
}
printf("sorted list in ascending order:\n");
for (c = 0; c < n; c++){
printf("%d\n", &array[c]);
}
getchar();
return 0;
}
Przede wszystkim nie mogę zagwarantować, że konsola zostanie na klucz. getchar()
wydaje się nie działać, ale nie mam żadnego błędu. Plus, gdy widzę konsolę przez sekundę, mogę powiedzieć, że liczby są wymienione na "-310892". Nie wiem dlaczego.
Wywołanie 'scanf_s ("% d", tablica)' przeczyta do pierwszego wpisu 'array', cały czas * * . –
powinien być tablicą [c] myślę? –
Nie, powinno być 'i tablica [c]' lub '(tablica + c)': Potrzebujesz wskaźnika do 'int' tutaj. –