Перемешивание строк в массиве - 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;
}/