Перемешивание строк в массиве - C (СИ)
Формулировка задачи:
Не могу разобраться, почему прога работает косячно
Программа получает из файла строки, записывает их в массив, массив перемешивает, записывает результат в файл.
Результат работы:
Код программы:
Помогите понять где косяк. Хочу предупредить, что указателями пользоваться не умею.пока что.
#include <stdio.h> #include <time.h> main() { int i=0,random,N=7; char base[N][1000],buf[1000],end[N][1000]; FILE *fo,*fi; srand(time(NULL)); fo=fopen( "in.txt", "r"); while (!feof(fo)){ // загоняю файл в массив fscanf(fo,"%s",base[i]); i++; } fclose(fo); i=0; while (N>0){ random=0+rand()%N; while (base[random][i]!=0){ // перемешиваю buf[i]=base[random][i]; base[random][i]=base[N-1][i]; base[N-1][i]=buf[i]; i++; } i=0; N--; } fi=fopen( "out.txt", "w"); i=0;N=7; while (i<N){ // загоняю массив в файл fprintf(fi,"%s\n",base[i]); i++; } fclose(fi); getchar(); }
Решение задачи: «Перемешивание строк в массиве»
textual
Листинг программы
char* strcpy(char * dest, const char * src) { char* result = dest; if((NULL != dest) && (NULL != src)) { while (NULL != *src) { *dest++ = *src++; } *dest_ptr = NULL; } return strresult; }/
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д