Znajdowanie najwiekszej liczby w szeregu

Znajdowanie najwiekszej liczby w szeregu
M9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 54
0

Pytanie - co wprowadzić w miejsce XXXXXXX by znajdowało mi największą liczbę z szeregu? Czy można to zrobić nie używając tablic?

Kopiuj
#include <stdio.h>
int main(void){
int liczba=0,najwieksza;
while(liczba>0){
printf("Podaj liczbe: (0 zakonczy)");
scanf("%d", &liczba);
}
if(liczba==0){
printf("Najwiesza cyfra to:%d" ,najwieksza);

/*

XXXXXXXXX

*/
}
return 0;
}
złoty
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 116
3

Po pierwsze - nie wczytujesz "szeregu" czy raczej tablicy, bo wczytujesz wartości do zmiennej typu int, a nie tablicy.
Do rozwiązania nie musisz nawet używać tablic ani dynamicznie alokować pamięci - po prostu wczytuj liczby i sprawdzaj, czy są większe od dotychczas znalezionej.

Kopiuj
#include <stdio.h>
#include <limits.h>

int main() {
	int min = INT_MIN, input = -1;
	do
	{
		printf("Podaj liczbę (0 aby zakończyć): ");
		scanf("%d", &input);
		if (input > min) min = input;
	} while (input != 0);

	printf("Największa liczba to: %d", min);

	return 0;
}

brokenelevator
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 60
2

Powyższe zadziała tylko jeśli największa liczba będzie większa lub równa 0. Zaproponowałbym drobną modyfikację.

Kopiuj
#include <stdio.h>
#include <limits.h>

int main() {
	int min = INT_MIN, input = INT_MIN;
	do
	{
		if (input > min) min = input;
		printf("Podaj liczbę (0 aby zakończyć): ");
		scanf("%d", &input);
	} while (input != 0);

	printf("Największa liczba to: %d", min);

	return 0;
}
MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
4

https://godbolt.org/z/3zrK684Wh

Kopiuj
#include <limits.h>
#include <stdio.h>

int main() {
    int min = INT_MIN, input;
    printf("Podaj liczby (aby zakończyć podaj 0 lub nieprawidłowe dane):\n");
    while (scanf("%d", &input) == 1 && input != 0) {
        if (input > min) {
            min = input;
        }
    }

    printf("Największa liczba to: %d", min);

    return 0;
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.