Na zajęciach piszemy w C++ i praca domowa dotyczy pisania właśnie w tym języku. Kompletnie nie wiem jak sie do tego zabrać...
W pliku o nazwie "denewel.txt" są liczby całkowite.
Pierwsza liczba określa ile jest liczb w pliku.
w przykładowym pliku o zawartości : "5 6 8 1 -3" liczba 5 oznacza, że w pliku jest pięć liczb, pozostałe liczby (w tym przypadku 6,8,1,-3) są danymi do przetwarzania w programie.
Napisz program, który utworzy plik o nazwie "wyniki.txt",
w którym będzie przechowywana informacja :
-liczby z pliku "denewel.txt" (bez informacji ile liczb jest w pliku; tutaj bez liczby 5) przesortowane od najmniejszej do największej.
W programie wykorzystaj własną funkcję oraz wyłącznie pętlę FOR
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
mała poprawka:
#include <iostream>
#include <fstream>
#include <time.h>
#include <stdlib.h>
using namespace std;
void insertsort(int tab[], int n) {
for (int i = 1 ; i < n ; i++) {
int key = tab[i];
int j = i;
for (; j > 0 && key < tab[j-1] ; j--) {
tab[j] = tab[j-1];
}
tab[j] = key;
}
}
int main() {
int n;
fstream in;
in.open("denewel.txt", ios::in);
if (!in) {
cout << "Wystapil blad z plikiem";
return 1;
}
in >> n;
int *tab = new int[n];
for (int i = 0 ; i < n ; i++) {
in >> tab[i];
}
insertsort(tab,n);
fstream out;
out.open("wyniki.txt", ios::out);
if (!out) {
cout << "Nie mozna utworzyc pliku";
return 2;
}
for (int i = 0 ; i < n ; i++) {
out << tab[i] << " ";
}
cout << "Program zakonczony poprawnie";
return 0;
}